安卓知识点随笔

安卓知识点随笔

一:安卓四大组件

  1. Activity:所有Android程序界面
  2. Service:后台运行的服务
  3. BroadbcastReceiver:接收广播信息,并做出对应处理的组件
  4. ContentProvidr:不同的应用之间数据共享,提供统一的接口,比如读取你手机里面的某一部爱情动作片

二:安卓日志打印
一般我用到最多的是Log.d():用于打印一些调试信息,对应debug
还有Log.e():用于打印程序中的错误信息,对应error
用法:Log.d(tag,msg);tag是类名,msg是打印的具体内容

三:Activity的生命周期
就像cocos的生命周期一样,安卓的每一个应用都有它的生命周期

  1. onCreate() 这个方法在Activity第一次被创建的时候调用。
  2. onStart() 这个方法在Activity由不可见变为可见的时候调用。
  3. onResume() 这个方法在Activity准备好和用户进行交互的时候调用。
  4. onPause() 这个方法在系统准备去启动或者恢复另一个Activity的时候调用。
  5. onStop() 这个方法在Activity完全不可见的时候调用。
  6. onDestroy() 这个方法在Activity被销毁之前调用。
  7. onRestart() 这个方法在Activity由停止状态变为运行状态之前调用,也就是Activity被重新启动了。

四:toast的使用
最简单的显示:
Toast.makeText(getContext(),“显示的内容”,Toast.LENGTH_LONG);

五:安卓计时器
延时几秒后执行:

TimerTask task = new TimerTask() {
@Override
public void run() {
/**
*要执行的操作
*/
Log.d(TAG, “求赞,求回复”);
}
};
Timer timer = new Timer();
timer.schedule(task, 700);//0.7秒后执行TimeTask的run方法

每隔一段时间执行一次:
public static class Test extends TimerTask{
public void run() {
/**
*要执行的操作
*/
Log.d(TAG, “求赞,求回复”);
};
}
Timer timer=new Timer();
Test test=new Test();
timer.schedule(test, new Date(),8000);//每隔8秒后执行TimeTask的run方法

六: 安卓发送,接收网络请求

public static void sendPost() {
String URL = “https://求赞,求回复/”;
OkHttpClient mOkHttpClient = new OkHttpClient.Builder().build();
MediaType mMediaType = MediaType.parse(“application/json; charset=utf-8”);
JSONObject object = new JSONObject();
try {
object.put(“求赞,求回复”, “求赞,求回复”);
} catch (JSONException e) {
e.printStackTrace();
}
String param = object.toString();
Request mRequest = new Request.Builder()
.url(URL)
.addHeader(“求赞,求回复”, “求赞,求回复”)
.addHeader(“求赞,求回复”,“求赞,求回复”)
.post(RequestBody.create(mMediaType, param))
.build();
//每一个Call(其实现是RealCall)只能执行一次,否则会报异常
mOkHttpClient.newCall(mRequest).enqueue(new Callback() {
@Override
public void onFailure(@NonNull Call call, @NonNull IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(@NonNull Call call, @NonNull Response response) throws IOException {
assert response.body() != null;
Log.w(“求赞,求回复”, "onResponse: " + response.body().string());
}
});
}

七:安卓唯一标识获取

能作为安卓唯一标识的有这几种:
1.系统imei1,系统imei2
2.设备mac地址
3.安卓设备ID
4.设备oaid
有些手机这些信息不一定能获取的到,所以最好多标识,多维度判定。

八:json字符串转为java对象

cocos传给原生层的不能传对象,所以要先把对象转为json字符串,然后再原生层转为java对象
很简单直接引入fastjson.jar包,调用一下 JSONObject apps = JSONObject.parseObject(”{求赞,求回复}“);就可以了

九:TimeUnit 使用

  • TimeUnit是工具一个类
  • TimeUnit.DAYS //天
  • TimeUnit.HOURS //小时
  • TimeUnit.MINUTES //分钟
  • TimeUnit.SECONDS //秒
  • TimeUnit.MILLISECONDS //毫秒

时间转化

  • public long toMillis(long d) //转化成毫秒
  • public long toSeconds(long d) //转化成秒
  • public long toMinutes(long d) //转化成分钟
  • public long toHours(long d) //转化成小时
  • public long toDays(long d) //转化天

十:第三方sdk

常用的第三方sdk有:友盟,talkingdate,tenjin,极光,gromore,topon, 融云通讯,Share SDK官网,Ping++聚合支付,360加固服务,高德地图,
一般接sdk都有以下几个步骤:一:导入sdk包,添加依赖 二:权限授予 三:混淆设置,四:sdk初始化
按着文档一步步来,基本上99%的人接sdk都没啥问题

十一:安卓基本目录结构

一般Project窗口都是在Android Studio左侧,如果你没有看到的话,选择 View->Tool Windows->Project就ok了
MainActivity:这是主Activity。它是应用的入口,当您构建和运行应用时,系统会启动此Activity的实例并加载其布局,
AndroidMainifest.xml: 清单文件描述了应用的基本特性并定义了每个应用组件,是整个项目的配置资源,里面配置的内容包括当前应用程序所在的包,应用程序中的Activity,应用程序的访问权限等等。
build.gradle:gradle构建项目的文件

这篇就先归纳这些,app最重要的还是各种sdk的接入,大家且行且珍惜。

5赞

markdown

收藏了------

ke yi

感谢楼主分享。为什么我坑踩着接完了才看到这帖子,难受。