白乐天

道阻且长,行则将至。

Android里的Java类

DexClassLoader

Android 提供的用于动态加载 .dex 文件、.apk 文件或 .jar 文件的核心工具。

1
2
3
4
5
6
7
8
9
10
11
public DexClassLoader(
String dexPath, // .dex/.apk/.jar 文件的路径
String optimizedDirectory, // 解压和优化后的 .odex 文件存放路径
String librarySearchPath, // 关联的本地库(.so)文件的路径,可为 null
ClassLoader parent // 父类加载器(委托机制使用)
)

// dexPath:必填,一个完整的文件路径
// optimizedDirectory:必填,存放优化后的文件,,一个可写的目录路径。
// librarySearchPath:可选
// parent:必填:父类加载器(ClassLoader),用于实现 Java 的类加载委托机制。

findClass

1
protected Class<?> findClass(String name) throws ClassNotFoundException

Log

android.util.Log是Android中的日志工具类,这个类中提供了5个方法。

  • Log.v():用于打印那些最为繁琐、意义最小的日志信息。对应级别verbose。
  • Log.d():用于打印一些调试信息,这些信息对调试程序和分析问题应该是有帮助的。对应级别是debug。
  • Log.i():用于打印一些比较重要的数据,这些数据应该是可以帮助分析用户行为的数据。对应级别info。
  • Log.w():用于打印一些警告信息,提示程序在这个地方可能会有潜在风险,最好去修复一下出现警告的地方。对应级别warn。
  • Log.e():用于打印程序中的错误信息当有错误信息打印出来的时候,一般都代表程序出现问题了,要尽快修复。对用级别error。
1
Log.v(String tag, String msg);

Toast

Toast 是一种非常简单的界面元素,用于在屏幕上显示短暂的消息,通常用于向用户显示提示信息。

1
2
3
4
5
6
7
Toast.makeText(Context context, CharSequence text, int duration).show();

// context:一个 Context 对象,通常传入当前的 Activity 或 Application。
// text:要显示的文本内容,可以是字符串或者字符串资源。
// duration:显示的时间,可以选择两种常用的持续时间:
// Toast.LENGTH_SHORT:短暂显示,通常显示 2 秒钟左右。
// Toast.LENGTH_LONG:长时间显示,通常显示 3.5 秒钟左右。

使用示例

1
Toast.makeText(this, "Hello, World!", Toast.LENGTH_SHORT).show();

Pair

android.util.Pair 是 Android 提供的一个简单的数据结构类,用于存储两个相关联的对象。

1
2
3
4
5
6
7
8
9
public class Pair<F, S> {
public final F first; // 第一个对象
public final S second; // 第二个对象

public Pair(F first, S second) {
this.first = first;
this.second = second;
}
}
  • first: 存储第一个对象。
  • second: 存储第二个对象。

这两个字段都是 final,一旦赋值后就无法修改。

SharedPreferences

android.content.SharedPreferences是 Android 中用于存储应用程序的偏好设置和简单数据(如配置选项、用户设置、应用状态等)的一个接口。它提供了一种轻量级的键值对存储方式,适用于存储简单的原始数据类型(如 intbooleanString 等)。

getString()

1
2
3
4
5
String getString(String key, String defValue);

// key:想要获取的值的键(String 类型)。这个 key 用于标识存储的 String 数据。
// defValue:当 key 对应的值不存在时,返回的默认值(String 类型)。这是一个可以自定义的备用值。
// return:如果 key 存在于 SharedPreferences 中,返回与该 key 相关联的 String 值;如果不存在,返回提供的 defValue。