您当前的位置:首页 > 互联网教程

android开发一般都使用什么框架

发布时间:2025-05-13 04:49:37    发布人:远客网络

android开发一般都使用什么框架

一、android开发一般都使用什么框架

开发框架方面包含基本的应用功能开发、数据存储、网络访问这三大块:

一般而言一个标准的Android程序由如下4部分组成即Activity、Broadcast Intent Receiver、Service、Content Provider: 1. Activity是最频繁、最基本的模块,在Android中,一个Activity就是手机上一屏,相当于一个网页一样,所不同的是,每个Activity运行结束了,有个返回值,类似一个函数一样。Android系统会自动记录从首页到其他页面的所有跳转记录并且自动将以前的Activity压入系统堆栈,用户可以通过编程的方式删除历史堆栈中的Activity Instance。

Activity类中主要是跟界面资源文件关联起来(res/layout目录下的xml资源,也可以不含任何界面资源),内部包含控件的显示设计、界面交互设计、事件的响应设计以及数据处理设计、导航设计等application设计的方方面面。 2. Broadcast Intent Receiver

Intent提供了各种不同Activity进行跳转的机制,譬如如果从A activity跳转到B activity,使用Intent来实现如下: Intent in= new Intent(A.this, B.class); startActivity(in);

BroadcastReceiver提供了各种不同的Android应用程序进行进行进程间通讯的机制,譬如当电话呼叫来临时,可以通过BroadcastReceiver发布广播消息。对于用户而言,BroadcastReceiver是不透明的,用户无法看到这个事件,BroadcastReceiver通过NotificationManager来通知用户这些事件发生了,它既可以在资源AndroidManifest.xml中注册,也可以在代码中通过Context.registerReceiver()进行注册,只要是注册了,当事件来临的时候,即时程序没有启动,系统也在需要的时候会自动启动此应用程序;另外各应用程序很方便地通过Context.sendBroadcast()将自己的事情广播给其他应用程序;

3. Service,跟Windows当中的Service完全是一个概念,用户可以通过startService(Intent service)启动一个Service,也可通过Context.bindService来绑定一个Service.

4. Content Provider,由于Android应用程序内部的数据都是私有的,Content Provider提供了应用程序之间数据交换的机制,一个程序可以通过实现一个ContentProvider的抽象接口将自己的数据暴露出去,并且隐蔽了具体的数据存储实现,标准的ContentProvider提供了基本的CRUD(Create,Read,Update,Delete)的接口,并且实现了权限机制,保护了数据交互的安全性;一个标准的Android应用程序的工程文件包含如下几大部分:-> Java源代码部分(包含Activity),都在src目录当中;

-> R.java文件,这个文件是Eclipse自动生成与维护的,开发者不需要修改,提供了Android对的资源全局索引;-> Android Library,这个是应用运行的Android库;

-> assets目录,这个目录里面主要用与放置多媒体等一些文件;

-> res目录,放置的是资源文件,跟VC中的资源目录基本类似,其中的drawable包含的是图片文件,layout里面包含的是布局文件,values目录里面主要包含的是字符串(strings.xml)、颜色(colors.xml)以及数组(arrays.xml)资源;

-> AndroidManifest.xml,这个文件异常重要,是整个应用的配置文件,在这个文件中,需要声明所有用到的Activity、Service、Receiver等。

二、Android R8代码混淆(笔记)

1、混淆规则配置文件用于自动执行代码混淆,避免在发布应用时出现未知错误。通常,三方框架会内置混淆规则,以确保应用的兼容性和稳定性。以下是一个示例混淆规则配置文件:

2、此配置文件主要包含针对特定库或组件的规则,以及一些通用规则。配置文件遵循特定格式,使用 `#`注释行以增强可读性。接下来,我们将逐部分解析这份配置文件。

3、LitePal:保留与 LitePal相关的所有类和属性,以确保数据访问功能正常运作。

4、Glide:针对 Glide模块,保留特定类、接口和方法,确保图像加载功能正常。

5、EventBus:保留 EventBus相关的订阅注解、线程模式类、特定事件类,确保事件系统正常工作。

6、RxJava:配置 RxJava,避免警告并禁止默认的 Flow接口使用。

7、Bugly:避免混淆 Bugly相关类,确保错误报告功能正常。

8、Hermes:对特定库(如 ArcSoft)的类进行忽略混淆。

9、Native方法保留:保持所有 Native方法不受混淆,以确保调用这些方法的代码正常运行。

10、特定类保留:保留特定类,如 MagDeviceManage和指定的 HTTP模型类。

11、代码压缩优化:设置混淆级别,优化代码压缩,同时遵循 Google推荐的算法。

12、访问权限:允许访问并修改有修饰符的类和类成员,保持代码的正确性。

13、保持组件:确保四大组件(Activity、Application、Service、Receiver、ContentProvider)不受混淆。

14、保持库中的类和成员:保留所有支持库下的类及其内部类,以及所有继承的类。

15、保持自定义控件:保留自定义控件,确保界面功能正常。

16、保留实现 Serializable的类成员:保持实现 Serializable接口的类成员,以支持序列化功能。

17、WebView处理:针对 WebView的特定方法和接口,确保页面加载和交互功能正常。

18、保留 Model数据:避免混淆 Model数据类,确保数据请求和处理正常进行。

19、此混淆规则配置文件旨在通过有针对性的规则,确保三方框架、关键组件及自定义功能在混淆过程中不受影响,从而提高应用的兼容性和稳定性。通过合理配置,开发者可以在保护代码安全的同时,优化应用的发布流程。

三、greendao的tomany没效果

缓存机制程序会优先使用缓存内的数据。greenDAO是一个将对象映射到SQLite数据库中的轻量且快速的ORM解决方案,greendao的tomany没效果是由于缓存机制程序会优先使用缓存内的数据。greenDAO是一种Android数据库ORM(object/relationalmapping)框架,与OrmLite、ActiveOrm、LitePal等数据库相比,单位时间内可以插入、更新和查询更多的数据,而且提供了大量的灵活通用接口。