Skip to content

Instantly share code, notes, and snippets.

View dearsq's full-sized avatar

Younix dearsq

View GitHub Profile
@dearsq
dearsq / Intent_Transfer_Object.md
Created September 4, 2018 01:44
[SOP_Intent传输对象的方法] #Android

正常的 Intent 传值的方法

Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
intent.putExtra("string_data","hello");
intent.putExtra("int_data",100);
startActivity(intent);

在 SecondActivity 众通过 getIntent 获取值

@dearsq
dearsq / Context.md
Created September 4, 2018 01:20
[SOP_全局获取Context方法] #Android

利用 Application 类. 当应用程序启动时 , 系统会自动对 Applicaiton 类进行初始化. 我们可以定制自己的一个 Application 类, 以便于管理程序内的 全局状态信息.

自定义 WholeApplication 类

public class WholeApplication extends Application {
	private static Context context;
 
@dearsq
dearsq / SOP_异步消息处理机制.md
Last active August 20, 2018 09:00
[SOP_异步消息处理机制] 比如 UI 更新 #Android

基本概念

  1. Message 线程之间传递的载体 .what .arg1 .arg2 字段可以携带整型数据

  2. Handler 用于发送和处理 Message Handler.sendMessage() Handler.handleMessage()

@dearsq
dearsq / Runnable.md
Last active August 20, 2018 07:23
[SOP_多线程编程] 三种多线程的步骤 #Android

通过实现 Runnable 接口的实例来创建线程

class RunnableDemo implements Runnable {
   private Thread t;
   private String threadName;
   
   RunnableDemo( String name) {
      threadName = name;
      System.out.println("Creating " +  threadName );
   }
@dearsq
dearsq / Service.md
Last active August 22, 2018 01:49
[组件_Service] Service #Android

基本概念

Service 是 Android 中实现程序后台运行的解决方案, 适合执行那些不需要和用户交互而且还要求长期运行的任务.

@dearsq
dearsq / WebView_JSON.md
Last active August 20, 2018 02:58
[媒体_WebView_XML和JSON] XML 和 JSON 格式学习 #Android

两种解析方法

JSONObject

private void parseJSONWithJSONObject(String jsonData) {
        try {
            // 定义 JASON 数组 , 将服务器返回的数据传入到了 JSONObject 对象中
            JSONArray jsonArray = new JSONArray(jsonData);
            for(int i = 0; i < jsonArray.length(); i++) {
                JSONObject jsonObject = jsonArray.getJSONObject(i);
@dearsq
dearsq / WebView.md
Last active January 20, 2021 02:45
[媒体_WebView] #Android

使用 SOP

activity.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

 
@dearsq
dearsq / MediaPlayer.md
Last active August 17, 2018 02:04
[媒体_MediaPlayer] #Android

常用控制方法

Android 通过控制播放器的状态的方式来控制媒体文件的播放,其中:

setDataSource() 设置要播放的音频文件位置 prepare()和 prepareAsync() 完成准备工作 提供了同步和异步两种方式设置播放器进入prepare状态, 需要注意的是,如果MediaPlayer实例是由create方法创建的,那么第一次启动播放前不需要再调用prepare()了,因为create方法里已经调用过了。 start()是真正启动文件播放的方法, pause() 暂停播放 stop() 停止播放

@dearsq
dearsq / Notification.md
Last active August 13, 2018 08:26
[通知_Notification] #Android
  1. 在 Activity 中创建
  2. 在 BoardCast 中创建
  3. 在 Service 中创建

使用

  1. 管理 Notification
NotificationManager manager = (NotificationManager) Context.getSystemService(Context.NOTIFICATION_SERVICE);
@dearsq
dearsq / 运行时权限.md
Last active August 17, 2018 09:28
[SOP_动态权限] #Android

在程序运行的过程中由用户去授权执行某些可能是危险的的操作.

实现步骤

  1. 检查权限 ContextCompat.checkSelfPermission 参数 1 Context 参数 2 具体的权限名字
ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CALL_PHONE)