摘要:
CheckBox in ListViewListview 在android中是经常用的组件,一些特殊情况下,系统提供的list view item 不够用, 不能满足需求,那么就需要自定义listView。如果在listview的item里面需要有一个CheckBox 和 2 个 TextView(like gmail app list item),那么需要自定义list item layout和自定义adapter。有个简单list item(例子里面只显示一行内容): 当一个list view 的item里面有Button 或者是CheckBox等空间,会导致l... 阅读全文
随笔分类 - android-中级
android 判断网络状态
2013-05-30 12:21 by java20130722, 283 阅读, 收藏,
摘要:
android 判断网络状态package com.example.android; import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.URL;
import java.util.Enumeration; import android.content.Context;
import androi.. 阅读全文
自定义Dialog之Progress(二)
2013-05-28 19:45 by java20130722, 216 阅读, 收藏,
摘要:
自定义Dialog之Progress(二)系统的Dialog一般是适合UI设计的需求,那么就需要自定义的ProgressDialog.第一想法就是能在应用级别全局改变应用的ProgressDialog的样式。(已经试过,没有成功)做法是:@style/theme.customer_progress_dialog@style/theme.customer_progress_dialog 是自定义的theme如果有成功的,希望能分享下,谢谢。第二种做法是自定义theme, 然后定义一个ProgressDialog:CustomProgressDialog. 在应用里面就用这个.自定义theme:@ 阅读全文
获得和裁剪图片
2013-05-19 14:43 by java20130722, 218 阅读, 收藏,
摘要:
take big picture ,select picture from gallery and crop picture.1. 照相获得大图片:照相时,把图片保存到文件中, 可以得到大图片(分辨率很高的图片), 具体方法:Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); mImageCaptureUri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(), "tmp_avatar_" + S... 阅读全文
自定义Dialog(一)
2013-05-12 14:52 by java20130722, 327 阅读, 收藏,
摘要:
自定义Dialog(一)Dialog是一种提示用户做决定的小窗口,它一般不会布满整个屏幕,它可以请求用户在程序处理之前做一动作。比如:当退出应用的时候,可以提示用户是否真的需要退出应用,等等。android提供了Dialog一些默认布局和样式,在一些的情况下,它不满足需求,那么,我们就需要自定义Dialog了。当然我们没有必要自己实现,可以对Dialog的Style进行一些定制,就可以很容易达到我们的需求。下面就做一个简单的例子:自定义的一个Dialog的style:@drawable/skin2_dialog_bottom:@style/dialog_animation:@anim/fadi 阅读全文
Android软键盘的隐藏显示
2013-05-03 18:12 by java20130722, 263 阅读, 收藏,
摘要:
Android软键盘的隐藏显示对输入框和布局的影响。1. 平移模式:android:windowSoftInputMode="adjustPan"layout 文件: com.hualu.softinput.RelativeLayoutResize:package com.hualu.softinput; import android.content.Context;
import android.util.AttributeSet;
import android.widget.RelativeLayout; public class Relativ... 阅读全文
android popup
2013-04-23 23:21 by java20130722, 377 阅读, 收藏,
摘要:
android popupandroid popup 有两种类型:1. popup window2. popup menuPOPUP WINDOWpopup window 和 popup menu 都是显示在其他的空间的上面(z轴)。下面举例实现的例子;例子:package com.hualu.popup; import java.util.ArrayList;
import java.util.List; import android.app.Activity;
import android.content.Context;
import android.content.Intent;
.. 阅读全文
android 照相
2013-04-20 00:06 by java20130722, 188 阅读, 收藏,
摘要:
android 照相在android中,照相功能系统已经提供,在app中可以直接使用。当手机从android play里面下载有照相功能的应用时, 会判断手机是否支持。不支持,不给予下载。照相有几个步骤:1. 声明权限2. 使用Camera照相3. 显示图片1. 声明权限在manifest里面声明使用Camera:2. 使用Camera照相在Activity中,调用Camera应用private void dispatchTakePictureIntent(int actionCode) { Intent takePictureIntent = new Intent(MediaStor... 阅读全文
Android BroadcastReceiver(一)
2013-04-15 11:36 by java20130722, 163 阅读, 收藏,
摘要:
Android BroadcastReceiver介绍: broadcastReceiver是android的四大组件之一,大部分的广播是系统发出来的。例如,屏幕关闭,电池电量不足等等。应用同样可以创建广播,例如:当下载完成的时候,要让其他的应用知道这个情况,需要用到broadcastreceiver,receiver没有界面,它可能会创建一个status bar notification通知用户。broadcastreceiver 只是会做一些非常小的工作,例如,它可以出发一个service工作。基类的代码会收到sendBroadcast()发送过来的Intents.如果不需要在应用之间发送 阅读全文
android AsynTask 实现原理
2013-04-13 13:38 by java20130722, 269 阅读, 收藏,
摘要:
android AsynTask 实现原理android asynTask 是借助thread和handler一起结合起来实现的。从其他的Thread操作UI thread 中的view要借组Handler,asynTask封装了这部分的实现,通过ThreadPool实现,doInBackground()方法是在其他的线程中运行,onPreExecute()、onProgressUpdate(...)和onPostExecute(...)都是运行的UI主线程中,onPreExecute()和其他两个方法还是有点区别的,它是直接在UI thread 里面运行的,而其他的两个方法是AsynTask 阅读全文
编译android源码四(常见错误)
2013-04-11 13:13 by java20130722, 334 阅读, 收藏,
摘要:
运行如下命令:$ emulator1.错误信息: emulator: WARNING: system partition size adjusted to match image file(205 MB > 200 MB)解决方法:emulator -partition-size 3002. 错误信息: SDL init failure, reason is: No available video device2.1 安装libsdl1.2debian:i386.I added the sitehttp://archive.canonical.com/to the list of rep 阅读全文
编译android源码三(编译系统)
2013-04-10 12:57 by java20130722, 232 阅读, 收藏,
摘要:
编译android源码三(编译系统)1. 初始化初始化环境$ source build/envsetup.sh or $ . build/envsetup.sh2.选择目标$ lunch full-eng3. 编译代码$ make -j44. 运行运行模拟器$ emulator 阅读全文
编译android源码二(下载源代码)
2013-04-09 19:26 by java20130722, 165 阅读, 收藏,
摘要:
下载源代码1.配置Repo1)在用户目录下创建bin目录$ mkdir ~/bin
$ PATH=~/bin:$PATH2)下载Repo script 和保证可执行$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo2. 初始化Repo1)创建一个空文件,存放源文件$ mkdir Mdroid
$ cd Mdroid2)运行repo init 下载源代码$ repo init -u https://android.googlesource.com 阅读全文
编译android源码一(设置环境)
2013-04-09 18:54 by java20130722, 225 阅读, 收藏,
摘要:
环境信息:Ubuntu:v 12.04 Vmware 6.7具体步骤:1 .初始化编译环境 设置编译环境:安装Python 2.6 -- 2.7 命令:sudo apt-get install python-setuptools 参考:http://pymcu.com/Installation.html#LinInstall 安装成功验证命令: python --version安装GNU Make 3.81 -- 3.82 命令:sudo apt-get install build-essential 参考:https:/... 阅读全文
Service bound(三)
2013-04-08 17:58 by java20130722, 201 阅读, 收藏,
摘要:
service 绑定有三种实现方式:1. 直接继承Binder类实现。 条件: 同一应用,同一进程2. 使用Messenger实现。 条件:要在不同的进程间通信,这种方式不用考虑线程安全性。(单线程操作时使用)3. 使用AIDL实现。 条件:要在不同的进程间通信,并且需要多线程处理。要考虑线程之间的安全性。使用AIDL实现:三大基本步骤创建.aidl文件实现接口公开接口创建.aidl文件方法定义有0个或者多个参数,可以返回一个值或者是void.方法中不是基本类型的参数,需要在方法参数前面加入in , out or inout包含在.aidl中所有的注释在IBinder接口中都会生成... 阅读全文
Android Interface Definition Language (AIDL)
2013-04-08 11:11 by java20130722, 286 阅读, 收藏,
摘要:
Android Interface Definition Language (AIDL)IN THIS DOCUMENTDefining an AIDL InterfaceCreate the .aidl fileImplement the interfaceExpose the interface to clientsPassing Objects over IPCCalling an IPC MethodSEE ALSOBound ServicesAIDL (Android Interface Definition Language) 与其他的接口定义语言相似。定义这个接口,client 阅读全文
service bound(二)
2013-04-06 16:32 by java20130722, 197 阅读, 收藏,
摘要:
service bound(二)service 绑定有三种实现方式:1. 直接继承Binder类实现。 条件: 同一应用,同一进程2. 使用Messenger实现。 条件:要在不同的进程间通信,这种方式不用考虑线程安全性。(单线程操作时使用)3. 使用AIDL实现。 条件:要在不同的进程间通信,并且需要多线程处理。要考虑线程之间的安全性。通过Messenger实现bound service。实现步骤:service 要实现Handler,service通过Handler可以得到客户端的调用请求。Handler用于创建Messenger对象。Messenger创建一个IBinder,... 阅读全文
service bound(一)
2013-04-06 15:50 by java20130722, 144 阅读, 收藏,
摘要:
Service bound 一service 绑定有三种实现方式:1. 直接继承Binder类实现。 条件: 同一应用,同一进程2. 使用Messenger实现。 条件:要在不同的进程间通信,这种方式不用考虑线程安全性。(单线程操作时使用)3. 使用AIDL实现。 条件:要在不同的进程间通信,并且需要多线程处理。要考虑线程之间的安全性。下面是继承Binder类实现的例子;具体步骤:在service中创建Binder实例onBind() 返回Binder实例在client,实现ConnectionService类,获取Binder 对象。---创建在service中创建Binder实... 阅读全文
Bitmap 存到文件中
2013-04-03 15:34 by java20130722, 482 阅读, 收藏,
摘要:
将一个Bitmap 的内容存到file中//create a file to write bitmap data
File f = File(context.getCacheDir(), filename);
f.createNewFile(); //Convert bitmap to byte array
Bitmap bitmap = your bitmap;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
bitmap.compress(CompressFormat.PNG, 0 /*ignored for PNG*/,. 阅读全文
android nfc 开发
2013-04-03 13:49 by java20130722, 457 阅读, 收藏,
摘要:
Android NFC1. 确认nfc是否可用NfcManager manager = (NfcManager) Context.getSystemService(Context.NFC_SERVICE); NfcAdapter adapter = manager.getDefaultAdapter(); if (adapter != null && adapter.isEnabled()) { // adapter exists and is enabled. System.out.println("can"); }else{ System.out.pri 阅读全文