Android
文章平均质量分 93
nichaoda
这个作者很懒,什么都没留下…
展开
-
Dagger-Android使用
Dagger-Android的使用官方文档参考blog必须注意:void inject()注入中的参数必须是具体的子类而不是父类,具体见第3步中的void inject(App app)。添加依赖,根据文档即可;编写具体要实现组件(例如Activity)的Subcomponent和Module,Module中可以编写对应组件需要的依赖方法,比如static Xxx provideXxx...原创 2019-12-03 12:04:39 · 519 阅读 · 0 评论 -
导入别人的Android项目
1.修改项目目录下的 build.gradle 文件,将其中的 classpath 'com.android.tools.build:gradle:x.x.x' 中的x.x.x更改为Android Studio安装目录下的 User\.gradle\caches\modules-2\files-2.1\com.android.tools.build\gradle 目录下的最新版本号。然后在repo...原创 2018-12-02 17:25:31 · 1283 阅读 · 0 评论 -
内容提供器
内容提供器是一种用于不同程序间实现数据共享的功能,使用内容提供器是Android中实现跨程序共享数据的标准方式。内容提供器的用法分两种,一种是创建内容提供器给其它程序提供数据访问的接口,另一种是读取和操作其它程序中的数据。一.访问其它程序的数据访问其它程序的数据要借助使用 ContentResolver 类,可以通过 Context 中的 getContentResolver() 获取...原创 2018-11-14 16:38:38 · 258 阅读 · 0 评论 -
广播和广播接收器
广播接收器的注册方式有两种,静态注册广播(在AndroidManifest中注册)和动态注册广播(在Java代码中注册)。从Android8开始,取消了大多数的静态注册广播。一.动态注册广播接收器(动态注册的广播接收器只有程序启动后才能收到广播)1.定义一个继承自BroadcastReceiver的类(可以是定义在活动类中的内部类,也可以是一个额外的java类),并重写其父类的onRece...原创 2018-11-07 13:03:05 · 925 阅读 · 1 评论 -
Fragment
Fragment是一种可以嵌入在活动当中的UI片段。它的生命周期如下:Fragment有两种添加方式,一种是静态,一种是动态,静态使用的较少。下面是动态Fragment的使用:动态加载步骤一:添加一个FragmentTransaction的实例FragmentManager fragmentManager = getSupportFragmentManager();Fr...原创 2018-11-05 17:48:41 · 237 阅读 · 0 评论 -
Android中的数据存储一(文件存储、SharedPreferences存储)
一.文件存储文件存储不对存储的内容进行处理,适合用于存储一些简单的文本数据或二进制数据。如果要存储较为复杂的文本数据,就要定义一套自己的格式规范。1.将数据存储到文件中Context类中有一个 openFileOutput(String name, int mode) 的方法,是用于将数据存储到指定的文件中,它的返回值为 FileOutputStream,其中有两个参数,前者表示文件名...原创 2018-11-10 13:35:26 · 265 阅读 · 0 评论 -
广播的应用(比如在不同Android手机的客户端用同一账号登陆某个软件导致前者掉线)
假设有A和B共用同一个账号使用某一个软件,当A已经登陆上时,B再进行登陆,那么A就会强制掉线,回到登陆界面。要解决这个问题,首先就是要能够管理所有活动,当强制掉线时,关闭所有的活动,然后再打开登陆界面。所以首先要设计一个类来管理所有的活动,然后创建一个基类(BaseActivity),在基类(BaseActivity)中对相应的添加和删除活动进行操作。可以参考https://blog.cs...原创 2018-11-07 22:40:23 · 466 阅读 · 0 评论 -
运行时权限
运行时权限运行时权限是Android6.0引入的特性。以下选自 https://developer.android.com/guide/topics/permissions/overview ,列出了Android中的危险权限。Table 1. Dangerous permissions and permission groups.Permission Group Permi...原创 2018-11-13 15:28:06 · 119 阅读 · 0 评论 -
Android中的数据存储二(SQLite数据库存储)
SQLite是一种轻量型的关系型数据库,它适用于移动设备,Android系统中就内置了SQLite数据库。SQLite数据库Android中管理数据库专门有一个抽象类 SQLiteOpenHelper ,使用这个类可以很方便创建和升级数据库。我们需要用一个类继承它,然后实现其中的两个抽象方法 onCreate() 和 onUpgrade()。在这两个方法中创建和升级数据库。SQLite...原创 2018-11-10 22:29:15 · 644 阅读 · 0 评论 -
Android中的界面UI
一.常用控件常用属性有android:id,android:layout_width,android:layout_height,android:gravity(控件中的内容,比如说文字的对齐方式),android:textSize,android:textColor,android:layout_gravity(当前控件相对父布局的对齐方式),android:layout_weight(控件...原创 2018-11-05 13:45:17 · 508 阅读 · 0 评论 -
活动2(生命周期,启动模式)
一.活动的生命周期为了在活动生命周期的各个阶段之间导航转换,Activity类提供了六个回调的核心方法:onCreate(),onStart(),onResume(),onPause(),onStop()和onDestroy()。当活动进入新状态时,系统会调用每个回调。完整的生命周期是从 onCreate()到onDestroy() , 可见的生命周期是从 onStart()到onSt...原创 2018-11-03 17:21:06 · 173 阅读 · 0 评论 -
活动3(活动中的一些技巧)
一.判断当前界面属于哪个活动创建一个普通的Java类,让它继承自AppCompatActivity,它不需要在AndroidManifest中注册。重写其中的onCreate()方法,如下所示:@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedI...原创 2018-11-04 16:12:54 · 179 阅读 · 0 评论 -
活动1(活动在配置文件的注册,Menu,活动的切换、销毁,活动间数据的传递)
活动是Android平台上应用程序的基本构建块之一。它们充当用户与应用程序交互的入口点,也是用户如何在应用程序中导航(如“后退”按钮)或应用程序之间(与“最近”按钮一样)的核心。一.在AndroidManifest中注册活动活动的注册声明放在<application>标签中,通过<activity>标签对活动进行注册,在<activity>中用 andr...原创 2018-11-02 16:20:28 · 249 阅读 · 0 评论 -
Android Studio中Project的项目结构模式
一.项目的总体结构.gradle和.idea是AS自动生成的文件,不用编辑。app中包含了代码和资源文件,开发是在这个目录下进行的。gradle包含了gradle wrapper的配置文件。.gitignore是用来将指定的目录或文件排除在版本控制外。build.gradle是项目全局的gradle构建脚本。gradle.properties是全局的gradle配置文件...原创 2018-10-30 16:12:57 · 1880 阅读 · 0 评论 -
Android系统架构
Android分为4层架构:Linux内核层、系统运行库层、应用框架层、应用层。1.Linux内核层:Android系统基于Linux内核,这一层主要是提供驱动。2.系统运行库层:通过C/C++库为Android系统提供特性支持。其中还包括Android运行时库,它主要提供一些核心库,Android运行时库中包含Dalvik虚拟机(5.0后为ART运行环境)。3.应用框架层:提供构...原创 2018-10-30 14:21:27 · 182 阅读 · 0 评论