`
lvwenwen
  • 浏览: 958809 次
  • 性别: Icon_minigender_1
  • 来自: 魔都
社区版块
存档分类
最新评论

Android 写出高质量的代码

阅读更多
导读:相信大家都看过google的源码吧,每次看完我都感叹为什么别人写出的程序看起来就是完美呢?在这里我想拿一段代码来区别高质量和普通间的区别,以探索怎样能写出高可塑性的优秀代码。
        listview在android中是一个非常普通的组件,通常我们都是这样用的(如你并非这样,那么恭喜你,你有优秀程序员的潜力-_-):

01
<font face="'Times New Roman'"><font color="#000000">
02
this.setListAdapter(newArrayAdapter<String>(this,
03
               android.R.layout.simple_list_item_1,
04
newString[]{"list1","list2","list3"}));
05
       
06
    }
07
    @Override
08
    protected voidonListItemClick(ListView l, View v, int position, long id) {
09

10
Intent i=new Intent();
11

12
switch (position) {
13
case 0:
14
i.setClass(ListTest.this, List1.class);
15
startActivity(i);
16
break;
17
case 1:
18
i.setClass(ListTest.this, List2.class);
19
startActivity(i);
20
break;
21
case 2:
22
i.setClass(ListTest.this, List3.class);
23
startActivity(i);
24
break;
25

26
default:
27
break;
28
}
29

30
super.onListItemClick(l, v, position,id);
31
    }
32

33
</font></font>
这个不必多说,再看实现同样的功能google实现的代码:
1
  setListAdapter(new SimpleAdapter(this, getData(), android.R.layout.simple_list_item_1,new String[]{"title"},new
2
int[]{android.R.id.text1}));
3
        getListView().setTextFilterEnabled(true);
4
}
这里的adpter填充数据是取自getData()这个方法,如下:
01
 
02
private List getData(){
03
     List<Map>dataList=new ArrayList<Map>();
04
     Intentintent=new Intent(Intent.ACTION_MAIN, null);//取得标明为Main的activity
05
     intent.addCategory(Intent.CATEGORY_SAMPLE_CODE);
06
     PackageManagerpManager=getPackageManager();//获得包名
07
     List<ResolveInfo>list=pManager.queryIntentActivities(intent, 0);//装载包路径名
08

09
if (null==list) {
10
return dataList;
11
       }
12
int len=list.size();
13
     Log.i("len===", String.valueOf(len));
14

15
for (int i = 0; i < len;i++) {
16
        ResolveInfoinfo=list.get(i);
17
        CharSequencelable=info.loadLabel(pManager);
18

19
if ("com.android.test".equals(info.activityInfo.applicationInfo.packageName)) {
20
              addItem(dataList, lable.toString(), myIntent(info.activityInfo.applicationInfo.packageName,
21
                     info.activityInfo.name));   //myIntet()方法设置intent跳转的类名
22
           }
23
       }
24
return dataList;
25
    }
  再看addItem()方法:
01
private void addItem(List<Map> data,Stringname,Intent intent){
02
     Map<String,Object> map=new HashMap<String, Object>();
03
     map.put("title", name);   //将传入的title放入map中以供填充adapter使用
04
     map.put("intent", intent);//将传入的intent放入map中以供跳转使用
05
     data.add(map);
06
    }
07

08
private Intent myIntent(StringcontentPkg,String toPkg){
09
     Intenti=new Intent();
10
     i.setClassName(contentPkg,toPkg);
11
return i;
12
    }
13

14
@Override
15
protected
16
void onListItemClick(ListView l, View v, int position, long id) {
17
     Mapmap=(Map) l.getItemAtPosition(position);
18
     Intentintent=(Intent) map.get("intent");
19
     startActivity(intent);
20
    }
         在这里,代码量似乎是多了不少,很多一步直接写上的都用方法封装起来,看起来很零碎但却非常独立,可塑性非常强,如:一旦为listview添加新的item的话,只需要重新写一个跳转后的类该代码段会自动识别并实现跳转,无需为adapter重新填充,可以说这段代码无需改动而能实现任何数量的listview的添加,当然你要为此写上跳转的目的类,且这个目的类要标记为.
1
<action android:name="android.intent.action.MAIN"/>
2
<category
3
android:name="android.intent.category.SAMPLE_CODE"/>


这是google源码里涉及到的,我将其中涉及到listview部分简化出来以便大家专注研究严谨精炼的代码是怎么构造出来的,呵呵,源码是个好东西,希望大家多抽时间看看,为便于大家比较优虐,我将上面的两个源码贴出来:
http://www.eoe.cn/uploadfile/2011/1229/20111229103249289.rar
http://www.eoe.cn/uploadfile/2011/1229/20111229103250197.rar
分享到:
评论

相关推荐

    Android从入门到精通源代码 孙更新.rar

    这份资料由知名Android讲师孙更新提供,通过深入浅出的讲解和实际源代码示例,使学习者能够快速上手并提升自己的开发能力。 首先,Android是Google主导的开源移动操作系统,广泛应用于智能手机和平板电脑,其开发...

    详细的android文件管理器源代码

    在Android平台上,开发一款文件管理器是相当常见的需求,它能帮助用户查看、操作设备上的文件和目录。本文将深入探讨一个详细的Android文件管理器...同时,源代码的良好结构也有助于开发者培养出编写高质量代码的习惯。

    android期末考试的代码

    【Android期末考试代码详解】 ...虽然代码质量可能不高,但从中学习和反思,对于提高编程技巧和理解Android系统原理都是非常有益的。在实际开发中,我们应该力求写出高效、可维护和符合最佳实践的代码。

    Android从初级到高级代码十六

    还有,理解并使用MVVM(Model-View-ViewModel)架构模式,可以帮助你写出更清晰、可维护的代码。 最后,Android的性能优化是高级开发者关注的重点。这包括内存优化、绘制优化、电池效率优化等。通过工具如Profiler...

    Android开发精要.mobi

    如何才能写出贴近Android设计理念、能够更加高效和可靠运行的Android应用?通过Android的源代码去了解其底层实现细节是重要的方之一!然而,Android系统太过于庞,源代码实现复杂,习的技术门槛和时间成本都很高。有...

    android开发精要.mobi

    android开发精要.mobi 《Android开发精要》如何才能写出贴近Android设计理念、能够更加高效和可靠运行的Android应用?通过Android的源代码去了解其底层实现细节是最重要的方法之一!...从而编写出高质量的Android应用。

    在android中编写干净,简短和可测试代码的最佳实践.zip

    以上最佳实践旨在帮助开发者创建高质量的Android应用。通过遵循这些指导原则,开发者可以编写出更干净、简短且易于测试的代码,从而提升整体的开发效率和应用性能。在提供的"Best-Coding-practices-in-android-...

    android手写签名

    在Android平台上,手写签名功能是一项常见的需求,尤其在移动应用中...通过理解这些基础知识,我们可以创建出满足需求的高质量签名组件。对于初学者来说,研究这个demo可以帮助他们更好地理解和掌握Android图形编程。

    Android学习安卓客户端

    Android学习是Android客户端目前最... 无论您是在校大学生,还是职业学员,或者Java开发人员,本书都志在全面提高您的Android编程思想和开发实力,使您能够写出高质量的Android代码,相信读完本书后能使您获益匪浅。

    基于Android Studio开发的安卓的高仿微信

    它提供了丰富的工具集,包括代码编辑器、调试器和构建工具,使得开发者能够高效地构建高质量的Android应用。 首先,我们来了解开发高仿微信应用的基础知识: 1. **环境配置**:在开始开发之前,你需要安装Android ...

    Android学习(apk)

    Android学习是Android客户端目前最... 无论您是在校大学生,还是职业学员,或者Java开发人员,本书都志在全面提高您的Android编程思想和开发实力,使您能够写出高质量的Android代码,相信读完本书后能使您获益匪浅。

    打造高质量Android应用:Android开发必知的50个诀窍(英文版)

    不过,我们可以根据标题和描述中提到的“打造高质量Android应用:Android开发必知的50个诀窍”这一概念,推断出一些知识点和建议,这些都是在Android开发过程中确保应用质量的关键要素。 Android开发中打造高质量...

    Android应用开发揭秘 - 源代码

    《Android应用开发揭秘》是一本深入探讨Android应用开发的专业书籍,光盘源代码包含了书中讲解的各种实例和...通过阅读和实践这些代码,开发者可以提升自己的技能,解决实际问题,并开发出高质量的Android应用程序。

    Android文本阅读器源代码.rar

    13. **测试与调试**:应用开发过程中,单元测试、集成测试和调试技巧是必不可少的,以确保代码质量并找出潜在问题。 通过研究这个源代码,开发者可以深入了解Android应用的生命周期管理、UI设计原则、数据存储方式...

    基于Android的校园二手交易平台App源码.zip

    单元测试和集成测试确保了代码的质量,而持续集成/持续部署(CI/CD)则保证了代码的快速迭代。 总的来说,基于Android的校园二手交易平台App涉及到Android开发的多个核心领域,包括UI设计、数据库管理、网络通信、...

    Android代码小贴士

    在Android开发过程中,掌握一些代码小贴士可以显著提高开发效率和代码质量。...通过学习和实践这些小贴士,开发者可以写出高效、稳定且易于维护的Android应用。持续学习新的技术和最佳实践,是提升开发技能的关键。

    阿里Android开发规范

    阿里作为国内知名的互联网企业,有着一套完善的Android开发规范,旨在引导开发者写出高质量、易于维护的代码。以下将详细解析阿里Android开发规范的核心要点。 1. **命名规范** - 类名:使用大驼峰命名法,首字母...

    Android开发精要-范怀宇.pdf

    简介:《Android开发精要》如何才能写出贴近Android设计理念、能够更加高效和可靠运行的Android应用?通过Android的源代码去了解其底层实现细节是最重要的方法之一!...从而编写出高质量的Android应用。

    Android高级应用源码-100多个Android 实例集合.zip

    同时,这也有助于开发者形成良好的编程习惯,写出更健壮、易维护的代码。所以,这份"Android高级应用源码-100多个Android实例集合.zip"对于任何想要深入Android开发的工程师来说,都是一个值得珍藏的资源。

    写给android开发者的kotlin指南.pdf

    通过使用Kotlin的特性,开发者可以在更短的时间内写出更高质量的代码。 综上所述,这本指南为Android开发者提供了一套从入门到实践的Kotlin学习路径,不仅包括基础知识,还有针对Android开发中常见任务的实践技巧和...

Global site tag (gtag.js) - Google Analytics