- 博客(20)
- 收藏
- 关注
原创 Android Listview异步加载之性能优化
效果图:本文旨在提高异步加载的效率。以listview为例,加载大量item时,必须使用异步加载,否则造成滑动卡顿,甚至程序崩溃。本文主要在三方面提高listview的加载效率:1.首次启动预加载(首次启动仅加载可见的item);2.listview滑动停止后才加载可见项;3.listview滑动时,不进行项加载。该Demo使用的数据来源于慕课网提供的json数据:ht...
2020-03-09 15:04:07
529
原创 Android 获取实时天气数据
先上效果图: 深圳实时天气数据 关于获取实时天气数据有很多种方法,像聚合数据、和风天气等平台都可以提供数据来源,本文主要使用和风天气SDK获取实时天气数据。以下是使用和风天气SDK来获取地方实时天气数据的步骤。1.申请获得和风天气的username和key值访问和风天气官网和风天气,选择进入"天气API/SDK":如无...
2020-01-02 16:19:05
13811
20
原创 Android 简单实现视频弹幕功能
效果图:上图:代码随机生成的弹幕及弹幕输入栏下图:绿色框的弹幕为用户手动添加发送的弹幕1.准备工作准备一个视频文件,将该视频文件放到res/raw目录下。需要将视频设置为横屏播放,即往配置文件中添加android:screenOrientation="landscape":<activity android:name=".MainActivity" ...
2019-11-26 17:34:34
1620
1
原创 Kotlin入门(Android开发)基础知识汇总(四)之类和对象---完结篇
1.类的构造1.1类的简单定义//javapublic class MainActivity extends AppCompatActivity { ... }//Kotlinclass MainActivity : AppCompatActivity() { ... }Kotlin对类的写法有以下特点:<1>省略了关键字public,缘于...
2019-11-25 14:25:56
887
原创 Kotlin入门(Android开发)基础知识汇总(三)之函数运用
1.函数的基本用法//java@Overridepublic void onCreate(Bundle savedInstanceState) {...}//Kotlinoverride fun onCreate(savedInstanceState: Bundle?) {...}<1>使用小写“override”在同一行表达重载操作;<2>...
2019-11-21 18:28:04
227
原创 Kotlin入门(Android开发)基础知识汇总(二)之控制语句
1.if-else语句基本用法和c语言一样,但如果每个分支内部只有一个字符串返回值,此时可以去掉大括号。示例:if (isTrue==true) "真" else "假"2.多路分支when/else与switch/case的区别:<1>关键字switch被when取代;<2>判断语句“case 常量值:”被新语句“常量值 ->”取代;&...
2019-11-20 12:16:08
198
原创 Kotlin入门(Android开发)基础知识汇总(一)之数据类型
一.基本数据类型基本数据类型名称 Kotlin的数据类型 整型 Int 长整型 Long 浮点型 Float 双精度 Double 布尔型 Boolean 字符型 Char 字符串 String 1.Kotlin声明一个数据类型变量,如:var i:Int = 0 //末尾分号可忽略,也可写成var i=0...
2019-11-19 15:19:07
355
转载 Android浅析Binder机制
为了更好理解Binder机制,下面举个生活中经常遇到的例子:A和B要打电话,A首先要有B的电话号码,电话号码在通信录获取,通信录中保存了B的昵称,电话号码之类的信息,得到电话号码之后,还需要电话基站的支持,A和B才可以进行电话交流;这里,我们发现,一次简单的打电话的过程,除了A和B两个主体对象外,还存在两个隐含的但是必不可少的东西,通信录和电话基站。我们可以做个类比,对于A和B相当于...
2019-06-22 10:06:34
797
原创 AndroidStudio(3.0以上)---JNI的简单实现
JNI的知识就不再赘述了,网上很多,直接上例子。1.启动AS,新建工程JniTest。新建JniTest类:package com.mega.jnitest;public class JniTest { public static native String getTestString(); static { System.loadLibrary("...
2019-06-14 15:47:33
232
原创 如何禁止adb命令安装apk及手动安装apk
1.禁止adb命令安装apk修改位置:frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java--- frameworks/base/cmds/pm/src/com/android/commands/pm/Pm.java (revision 1118)+++ frameworks/base/cmds/pm/src/com/a...
2018-11-07 16:40:26
6674
原创 如何更换Android系统默认字体(Android6.0)
Android系统中通过Typeface.java加载字体:frameworks/base/graphics/java/android/graphics/Typeface.javaprivate static void init() { // Load font config and initialize Minikin state File system...
2018-11-07 13:59:55
10157
2
原创 Android 上层应用读写底层设备节点(Android M)
应用层中,一般都能够读取设备节点。对于写节点这个操作,需要更高的root权限。示例:设备节点:private static final String LED_RED_TRIGGER = "sys/class/leds/red/on_off";写节点:private void setLedOnOff(String path, String value) { try { Buf...
2018-04-19 17:37:51
5940
7
原创 Android Studio(3.0) 常用快捷键汇总
Ctrl + / : 代码注释(//)Ctrl + Alt +/ : 代码注释(/**/--需选中代码)Ctrl + Alt + L : 格式化代码Ctrl + Alt + O : 清楚无效包引用Ctrl + F : 查找(F3:查找下一个,Shift+F3:查找上一个)Ctrl + R: 替换Shift + Alt + up/down :上下移动光标所在行代码或者上下移动所选中代码Ctrl + ...
2018-03-06 14:16:56
1302
原创 Android--隐藏状态栏图标
目前状态栏图标有通知图标和系统图标通知图标主要是指各应用发过来的通知,比如未接电话,截图,后台播放音乐等,系统图标主要有蓝牙,耳机,wifi,数据流量,时间和电池...1,不显示通知图标,在/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java中...
2018-02-28 11:35:22
6310
3
原创 Framework修改导航栏(横屏)显示在屏幕左边
修改文件路径:frameworks\base\services\core\java\com\android\server\policy\PhoneWindowManager.java--- core/java/com/android/server/policy/PhoneWindowManager.java (revision 24)+++ core/java/com/android/serve...
2018-02-28 10:20:49
2978
转载 Android系统预制APK(不可卸载)
第一步: 在 “/vendor/.../packages/apps” 目录下创建一个对应名称的文件夹。 第二步: 将所需apk放入文件夹中。 第三步, 编辑 Android.mk : LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) # Modul
2018-01-24 18:20:09
5889
原创 Binder机制——AndroidStudio简单实现进程间通信
服务端:启动AS,创建一个服务端工程,在工程中点击右键New->AIDL->AIDL File:我们打开这个aidl文件,在其中添加一个测试方法:此时编译工程,在如下路径自动生成一个aidl对应的java文件(该java类的代码就是整个Binder机制的原理所在):创建一个服务类,继承Service:package sou
2018-01-24 17:37:34
1028
原创 Android系统状态栏和导航栏高度修改
修改路径:frameworks/base/core/res/res/values/dimens.xmlstatus_bar_height">32dpnavigation_bar_height">48dpnavigation_bar_height_landscape">62dpnavigation_bar_width">160dp
2018-01-24 14:57:28
13866
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人