- 浏览: 117357 次
- 性别:
- 来自: 东莞
最新评论
-
ihopethatwell:
楼主附上布局吧
【Android】获得已安装应用 -
dyingbleed:
kangsoft 写道IntentService 里貌似不用再 ...
【Android】IntentService多线程 -
kangsoft:
IntentService 里貌似不用再创建线程啊。。
【Android】IntentService多线程 -
hualang:
不错,不过有个问题:设置后各个Item无法点击,还要设置cli ...
【Android】GridView添加网格线 -
dyingbleed:
sword_java 写道实现的 太片面了, 只有 delet ...
【Android】继承SimpleCursorAdapter定制Adapter
文章列表
SimpleCursorAdapter是一个简单的adapter,提供数据库Cursor到TextView的映射。
在实际开发过程中,除了TextView外,往往还需要依赖于数据库数据的其它的组件。
通过继承SimpleCursorAdapter,重写bindView(View view, Context context, Cursor cursor)来实现
示例代码
Main.java
package dyingbleed.iteye;
import android.app.ListActivity;
import android.content.Context; ...
GridView网格布局,默认情况下是没有网格线的
查找网上资料,找到了一种为GridView添加网格线的小技巧
实际上,该网格线是通过设置GridView各子项的间隔,并分别设置GridView背景色与子项背景色实现的。
实现方法
设置GridView背景色,设置水平间方向间隔属性值android:horizontalSpacing和竖直方向间隔属性值android:verticalSpacing
设置GridView子项背景色
示例代码:
main.xml
<?xml version="1.0" encoding=" ...
实现效果:当滑动ListView列表最底端时,动态的添加新的列表项
实现步骤:
调用ListView的setOnScrollListener()方法设置滑动监听器,实现OnScrollListener接口的方法
判断当列表滑动到最低端时,加载新的列表项
接口OnScrollListener
onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount)
view 报告滑动状态的视图
firstVisibleItem 可视的第一个列表项的索引
vi ...
【Android】获得已安装应用
- 博客分类:
- Android其它
步骤
获得上下文Context,调用getPackageManager()获得PackageManager实例
PackageManager实例,调用getInstalledPackages(int flag)并传入flag值获得相应已安装包信息PackageInfo列表
示例代码:
package dyingbleed.iteye;
import java.util.ArrayList;
import java.util.List;
import android.app.ListActivity;
import android.content.Context; ...
Android发送Email的两种方法:
方法一:通过Intent调用内置的Gmail发送邮件
优点:简单、方便
缺点:缺少灵活性,只能使用关联的gmail发送邮件
示例代码:
String[] recipients = {"接收方邮件地址", "接收方邮件地址"};
String subject = "邮件标题";
String text = "邮件内容";
Intent intent = new Intent();
intent.setAction(Intent.ACTI ...
使用GridView布局,视图周围会出现非常影响美观的空隙。
导致该问题的原因是,默认分配给该GridView的selector有额外的边框。
解决的方法有两种:
使用9-patch图片替换
置空
android:listSelector="@null"
IntentService继承自Service,用于异步处理通过startService(Intent intent)方法传递的Intent对象。
该Service根据需要启动
,通过实现onHandleIntent(Intent intent)方法,IntentService会在一个工作线程中,
按顺序处理每个Intent对象,直到当工作执行完毕自动销毁。
实例代码
1、启动服务
Intent intent = new Intent("iteye.dyingbleed.DownloadService");
intent. ...
【Android】获得系统语言和地区
- 博客分类:
- Android其它
Locale類用於表示語言/國家
語言碼使用兩個小寫字母ISO語言碼,例如“en”英語、“zh”漢語
國家碼使用兩個大寫字母ISO國家碼,例如“US”美國、“CN”中國、“TW”台灣
示例代碼
Local locale = context.getResources().getConfiguration.locale;
String language = locale.getLanguage(); //獲得語言碼
String country = locae.getCountry(); //獲得國家碼
【Android】原生安装和卸载应用
- 博客分类:
- Android其它
安裝應用
根據APK文件地址,new該APK文件File實例
調用Uri靜態方法fromFile()取得該APK文件Uri對象
通過Intent調用系統自帶安裝程序
代碼實例
File apk = new File(path);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(apk), "application/vnd.android.package-archive");
startActivit ...
【Android】创建自定义复合控件
- 博客分类:
- Android界面
复合控件是将一组相互关联的已有控件整合,从而可以当作单个控件使用。
创建复合控件的步骤:
创建一个扩展布局的类
实现构造方法,并在构造方法中,首先实现超类的构造方法super(...)
复合组件可以像其他视图一样在XML中声明创建,组件名为该类的完整名称(包名+类名),并在构造方法中实现超类构造方法super(Context contex, AttributeSet attrs)。
通过attrs获取自定义属性值,对子控件进行初始化设置。
根据需要扩展该复合组件方法
示例代码:
图标控件(包含图标和标题)
package lizhen.apps ...
LoadRemoteImage
公有成员方法setRemoteImageListener用于监听远端图片
传入两个参数:String url 图片URL地址 OnRemoteImageListener listener OnRemoteImageListener接口
线程Runnable接口处理流程图:
package lizhen.dg;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import org.apache.h ...
AsyncTask提供了简单易用的方式,执行后台操作并更新UI。
AsyncTask的3个泛型
Param 传入数据类型
Progress 更新UI数据类型
Result 处理结果类型
AsyncTask的4个步骤
onPreExecute 执行前的操作
doInBackGround 后台执行的操作
onProgressUpdate 更新UI操作
onPostExecute 执行后的操作
示例代码:
下载远端资源,需要INTERNET权限
将资源写入到SD,需要WRITE_EXTERNAL_STORAGE权限
在AndroidManife ...
在实际开发过程中,为了定制ListView项内容,通常所使用的方式是,创建所需要Adapter的子类,并重写getView()方法。
getView()方法接受一个名为convertView,View类型的参数。
如果convertView为null,就需要创建一个新的View对象;如果convertView非null,它实际上是之前使用过的View对象。
事实上,Android试图循环使用那些scroll到列表边界外的View。
另一个消耗CPU的方法是findViewById()。
所有继承自View的子类都有getTab()方法和setTab()方法,这样我们就可以通过设置 ...
SAX是事件驅動型XML解析接口
優點:解析速度快,內存消耗小
适合Android等移动设备
示例:
在assets建立用於解析的XML文件source.xml
<?xml version="1.0" encoding="UTF-8"?>
<xml><android><version>2.1</version><name>Eclair</name></android><android><version>2.2 ...
public Bitmap optimizeBitmap(byte[] resource, int maxWidth, int maxHeight) {
Bitmap result = null;
int length = resource.length;
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
result = BitmapFactory.decodeByteArray(resource, 0, leng ...