当前位置: 编程技术>移动开发
本页文章导读:
▪ListView的数据展示,三种适配器绑定方式 ListView的数据显示,三种适配器绑定方式
public void OnCreate(){
...
listView=(ListView)findViewById(R.id.listview);
//点击条目的事件
listView.setOnItemClickListener(listener);
show3();
}
//点击条目的事件
private fin.........
▪ apk的压缩模式 apk的压缩方式
1、去除无用资源文件及文件压缩等;
2、使用ProGuard做扰码。
使用ProGuard的时候,如果源码或者jar包内有使用反射的地方,需要在配置文件中声明不混淆需要反射调用的java类.........
▪ JavaME开发环境的筹建 JavaME开发环境的搭建
作为Java技术的三大分支之一,JavaME也是拥有着无穷的魅力,如果你手头正好有一台诺基亚或者支持Java的国产山寨机,何不来体验一下编写手机程序的乐趣呢。接下来.........
[1]ListView的数据展示,三种适配器绑定方式
来源: 互联网 发布时间: 2014-02-18
ListView的数据显示,三种适配器绑定方式
public void OnCreate(){ ... listView=(ListView)findViewById(R.id.listview); //点击条目的事件 listView.setOnItemClickListener(listener); show3(); } //点击条目的事件 private final class ItemClickListener implements OnItemClickListener{ public void OnItemClick(AdapterView<?>parent,View view,int position,long id){ ListView lv=(ListView)parent; //Person p=(Person)lv.getItemAtPosition(position);//调用自定义适配器,返回Person Cursor cursor=(Cursor)lv.getItemAtPosition(position);//SimpleCursorAdapter适配器 Toast.makeText(getApplicationContext(),p.Name,1).show(); } } //SimpleAdapter适配器 private void show(){ List<Person> persons=...; List<HashMap<String,Object>> data=new ArrayList<HashMap<String,Object>>(); for(Person p : persons){ HashMap<String,Object> item=new HashMap<String,Object>(); item.put("name",p.Name); item.put("phone",p.Phone); data.add(item); } SimpleAdapter adapter=new SimpleAdapter(this,data,R.layout.viewitem, new String[]{"name","phone"},new int[]{R.id.name,R.id.phone}); listview.setAdapter(adapter); /*int total=adapter.getCount(); int perpage=7; for(int i=0;i<perpage;i++){ View view=adapter.getView(i,convertView,parent); }*/ } //SimpleCursorAdapter适配器 private void show2(){ SimpleCursorAdapter adapter=new SimpleCursorAdapter(this,R.layout.viewitem,Cursor 对象, new String[]{"name","phone"},new int[]{R.id.name,R.id.phone}); listview.setAdapter(adapter) } //自定义适配器 private void show3(){ List<Person> persons=... PersonAdapter adapter=new PersonAdapter(this,persons,R.layout.viewitem); listView.setAdapter(adapter); } 自定义适配器 public class PersonAdapter extends BaseAdapter{ privte List<Person> persons;//要绑定的数据 private int resource;//绑定的条目的界面 LayoutInflater inflater;//布局填充器。生成所对应的view对象,系统内置 public PersonAdapter(Context context,List<Person> persons,int resource){ this.persons=persons; this.resource=resource; //取得系统内置的布局填充器 inflater=context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) } public int getCount(){ //得到要显示数据的总数 return persons.size(); } public Object getItem(int position){ //取得索引位置的值 return persons.get(position); } public long getItemId(int position){ //取得索引号 return position; } public View getView(int position,View convertView,ViewGroup parent){ TextView name=null; TextView phone=null; //取得条目的界面 if(convertView==null){ //第一页.不为null则重用它。不然每一次都生成一个view对象,则损耗性能 inflater.inflate(resource,null);//生成条目界面对象 name=convertView.findViewById(R.id.name); phone=convertView.findViewById(R.id.phone); ViewCache cache=new ViewCache(); cache.nameView=name; cache.phoneView=phone; convertView.setTag(cache);//标志,把缓存放进去。取得标志就可以取得缓存对象 }else{//不用去查找,重用以前生成的view ViewCache cache=(ViewCache)convertView.getTag(); name=cache.nameView; phone=cache.phoneView; } Person person=persons.get(position); //数据绑定 name.setText(person.Name); phone.setText(person.Phone); return converView; } //性能优化: //每显示一个条目,都会调用getView方法,如果每次都去查找显示控件,那影响性能 //定义一个内部类,用来缓存视图 private final class ViewCache{ public TextView nameView;//get,set更耗内存 public TextView phoneView; } }
[2] apk的压缩模式
来源: 互联网 发布时间: 2014-02-18
apk的压缩方式
1、去除无用资源文件及文件压缩等;
2、使用ProGuard做扰码。
使用ProGuard的时候,如果源码或者jar包内有使用反射的地方,需要在配置文件中声明不混淆需要反射调用的java类名、成员或方法等。还有就是需要注意内部类如果不声明,会被混淆。
3、不知道无用的代码会不会被打到apk包中,如果不能,就去掉无用代码。(引用的jar包中的,只能找源码,去除无用的代码了)。
[3] JavaME开发环境的筹建
来源: 互联网 发布时间: 2014-02-18
JavaME开发环境的搭建
作为Java技术的三大分支之一,JavaME也是拥有着无穷的魅力,如果你手头正好有一台诺基亚或者支持Java的国产山寨机,何不来体验一下编写手机程序的乐趣呢。接下来就让我们一起来了解一下如何搭建JavaME的开发环境。
本文涉及到的软件有:Eclipse3.7,WTK2.5.2,EclipseME1.7.9
第一步:打开Eclipse来安装开发JavaME所需的EclipseME插件
1. 选择Eclipse中Help菜单下的Install New Software项
2. 在弹出的对话框中选择Add按钮
3. 在弹出的对话框中单击Archive按钮并选择我们的eclipseme.feature_1.7.9_site.zip文件,然后点击OK
4. 然后向导会自动分析出eclipseme.feature_1.7.9_site.zip中包含的插件,勾选Developer Tools前得框框,不然不能点击next(注意取消最后一项的钩钩,取消程序检查更新
5. 最后一步选上所有的复选框,然后点击finish便完成了EclipseME插件的安装,提示重启Eclipse,点击确定,重启Eclipse
第二步:安装WTK
中间有个步骤要定位一下JDK的位置,然后可以自定义安装路径,其他都是一路点击下一步
第三步:在Eclipse中关联WTK
1.打开Eclipse菜单项的Window->Preferences,在左侧选中J2ME,然后在右边找到WTK ROOT字样,点击文本框后面的Browse,在弹出的对话框中选择WTK所在的路径,然后点击OK,完成WTK的关联。
2.点击左侧J2ME下的Device Management,然后在右边选择Import,接着在弹出的对话框中选择Browse定位到WTK的安装目录,点击下面的Refresh按钮,接着会自动扫描出WTK自带的模拟器,点击Select All按钮,然后点击Finish。
第四步:创建一个HelloWorld项目进行测试
1.点击菜单项File->New->Other,在J2ME下面选择J2ME Midlet Suite,然后点击Next
2.在接下来的界面上输入项目名称HelloWorld后点击Next,这里的Device选择DefaultColorPhone,然后点击Finish,完成项目的创建。
3.右键点击项目下的src目录,New->Other->J2ME->J2ME Midlet,点击Next,在弹出的界面上的Name输入test,然后Finish
4.在创建的test.java文件中的构造方法test()中加入如下一行代码然后右键选择test.java文件,在弹出的菜单中选择Run As->Emulated J2ME Midlet,系统便会启动模拟器并运行这个Midlet:
作为Java技术的三大分支之一,JavaME也是拥有着无穷的魅力,如果你手头正好有一台诺基亚或者支持Java的国产山寨机,何不来体验一下编写手机程序的乐趣呢。接下来就让我们一起来了解一下如何搭建JavaME的开发环境。
本文涉及到的软件有:Eclipse3.7,WTK2.5.2,EclipseME1.7.9
第一步:打开Eclipse来安装开发JavaME所需的EclipseME插件
1. 选择Eclipse中Help菜单下的Install New Software项
2. 在弹出的对话框中选择Add按钮
3. 在弹出的对话框中单击Archive按钮并选择我们的eclipseme.feature_1.7.9_site.zip文件,然后点击OK
4. 然后向导会自动分析出eclipseme.feature_1.7.9_site.zip中包含的插件,勾选Developer Tools前得框框,不然不能点击next(注意取消最后一项的钩钩,取消程序检查更新
5. 最后一步选上所有的复选框,然后点击finish便完成了EclipseME插件的安装,提示重启Eclipse,点击确定,重启Eclipse
第二步:安装WTK
中间有个步骤要定位一下JDK的位置,然后可以自定义安装路径,其他都是一路点击下一步
第三步:在Eclipse中关联WTK
1.打开Eclipse菜单项的Window->Preferences,在左侧选中J2ME,然后在右边找到WTK ROOT字样,点击文本框后面的Browse,在弹出的对话框中选择WTK所在的路径,然后点击OK,完成WTK的关联。
2.点击左侧J2ME下的Device Management,然后在右边选择Import,接着在弹出的对话框中选择Browse定位到WTK的安装目录,点击下面的Refresh按钮,接着会自动扫描出WTK自带的模拟器,点击Select All按钮,然后点击Finish。
第四步:创建一个HelloWorld项目进行测试
1.点击菜单项File->New->Other,在J2ME下面选择J2ME Midlet Suite,然后点击Next
2.在接下来的界面上输入项目名称HelloWorld后点击Next,这里的Device选择DefaultColorPhone,然后点击Finish,完成项目的创建。
3.右键点击项目下的src目录,New->Other->J2ME->J2ME Midlet,点击Next,在弹出的界面上的Name输入test,然后Finish
4.在创建的test.java文件中的构造方法test()中加入如下一行代码然后右键选择test.java文件,在弹出的菜单中选择Run As->Emulated J2ME Midlet,系统便会启动模拟器并运行这个Midlet:
Display.getDisplay(this).setCurrent(new Alert("HelloWorld"));
最新技术文章: