安卓需要学习的内容

安卓需要学习的内容

  1. Android studio
  2. SDK
  3. 前几个控件
  4. Android Collection
  5. packagemanager
  6. packageinfo
  7. 其他的能提供解决办法的
  8. SQLite先不用
  9. 找数据

Android Collection

其实应该是Java中的collection和collections,以前都只是见到过collection和collections,但是没用过,只知道是一种集合,查了一下资料。

collection 是java.util下的一个线性数据类型的根接口,为各种具体集合对象提供了通用的统一的操作方法,定义了最基本的操作(增、删、改、查、取得iterator、转化为数组等),如add(),remove(),toArray(),contains();

    collections是java.util下的一个处理集合对象的类,不能实例化,提供集合操作的各种静态方法,实现搜索、排序、线程安全化等操作,如

Collections.shuffle(List<?> list);//
    Collections.sort(List<?> list);//按升序排序
    Collections.fill(List<? super ?>list, T object);//替换

通过以下方法可以获得线程安全的集合:
Collections.synchronizedCollection(Collection c),
Collections.synchronizedList(List list),
Collections.synchronizedSet(Set set),
Collections.synchronizedSortedMap(SortedMap m),
Collections.synchronizedSorted(SortedSet s),
举例:
sort的使用:
double array[] = { 99, 87, 60, 74, 20 };
public void sort( double array[] )
{
//注意List是实现Collection接口的
List list = new ArrayList();
for (int i = 0; i < array.length; i++)
{
list.add(new Double(array[i]));
}
Collections.sort(list);
for (int i = 0; i < array.length; i++)
{
System.out.println(list.get(i));
}
}
sort(array);
// 结果:20.0 60.0 74.0 87.0 99.0

Packagemanager

PackageManger的主要职责是管理应用程序包,通过它可以获取应用程序信息。

相关类

1. PackageItemInfo类

AndroidManifest.xml文件中所有节点的基类,并不直接使用,而是由子类继承然后调用相应方法。

2.ActivityInfo类

或者 节点信息 。可获取theme 、launchMode、launchmode等属性

常用方法继承自PackageItemInfo类,下同。

3. ServiceInfo类

节点信息。

4. ApplicationInfo类

5. ResolveInfo类

根据节点获取其上一层目录的信息,通常是、、节点信息。

6. PackageInfo类

AndroidManifest.xml文件的信息

  1. String packageName 包名
  2. ActivityInfo[] activities 所有节点信息
  3. ApplicationInfo applicationInfo 节点信息,只有一个
  4. ActivityInfo[] receivers 所有节点信息,多个
  5. ServiceInfo[] services 所有节点信息 ,多个

7. PackageManger 类

通过getPackageManager()方法获得。

  1. PackageManager getPackageManager();

    // 获得一个PackageManger对象

  2. Drawable getApplicationIcon(String packageName);

    // 返回给定包名的图标,否则返回null

  3. ApplicationInfo getApplicationInfo(String packageName, int flags);

    // 返回该ApplicationInfo对象

    // flags标记通常直接赋予常数0

  4. List getInstalledApplications(int flags);

    // 返回给定条件的所有ApplicationInfo

    // flag为一般为GET_UNINSTALLED_PACKAGES,后续可进一步过滤结果

  5. List getInstalledPackages(int flags);

    // 返回给定条件的所有PackageInfo

  6. ResolveInfo resolveActivity(Intent intent, int flags);

    // 返回给定条件的ResolveInfo对象(本质上是Activity)

    // intent 是查询条件,Activity所配置的action和category

    // 可选flags:

    // MATCH_DEFAULT_ONLY :Category必须带有CATEGORY_DEFAULT的Activity,才匹配

    // GET_INTENT_FILTERS :匹配Intent条件即可

    // GET_RESOLVED_FILTER :匹配Intent条件即可

  7. List queryIntentActivities(Intent intent, int flags);

    // 返回给定条件的所有ResolveInfo对象(本质上是Activity)

  8. ResolveInfo resolveService(Intent intent, int flags);

    // 返回给定条件的ResolveInfo对象(本质上是Service)

  9. List queryIntentServices(Intent intent, int flags);

    // 返回给定条件的所有ResolveInfo对象(本质上是Service),集合对象

8. PackageStats 类

安装包的大小信息。AndroidSDK中并没有显式提供方法获得PackageStats对象,只能通过反射机制来调用系统中隐藏的函数(@hide)。

遇到的问题

  1. 现在可以尝试获取安卓的内存数据,但是他是直接展示在安卓应用上的,现在还不知道如何把数据打包保存位csv文件格式
  2. 不同版本都不适配,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值