EasyDemo*Android零散知识点(updating)

1. Application类(单态)简介:

1>基本上每一个应用程序都会有一个自己的Application,并让它继承自系统的Application类,然后在自己的Application类中去封装一些通用的操作。其实这并不是Google所推荐的一种做法,因为这样我们只是把Application当成了一个通用工具类来使用的,而实际上使用一个简单的单例类也可以实现同样的功能

2>在创建新的Applicatioin类后,必须使用一个name属性在Manifest的application节点中注册它,示例代码如下: <application android:icon="@drawable/icon" android:name=".MyApplication"> [...Manifest nodes...]</application>

3>在应用程序开始运行的时候,Application实现将会得到实例化。创建新的状态变量和全局资源,以便从应用程序组建中进行访问

2. Context简介:

1>Context理解为“上下文”或者“场景”

2>示例理解:一个Android应用程序,可以理解为一部电影或者一部电视剧,Activity,Service,Broadcast Receiver,Content Provider这四大组件就好比是这部戏里的四个主角:胡歌,霍建华,诗诗,Baby。他们是由剧组(系统)一开始就定好了的,整部戏就是由这四位主演领衔担纲的,所以这四位主角并不是大街上随随便便拉个人(new 一个对象)都能演的。有了演员当然也得有摄像机拍摄啊,他们必须通过镜头(Context)才能将戏传递给观众,这也就正对应说四大组件(四位主角)必须工作在Context环境下(摄像机镜头)。那Button,TextView,LinearLayout这些控件呢,就好比是这部戏里的配角或者说群众演员,他们显然没有这么重用,随便一个路人甲路人乙都能演(可以new一个对象),但是他们也必须要面对镜头(工作在Context环境下),所以Button mButton=new Button(Context)是可以的。虽然不很恰当,但还是很容易理解的,希望有帮助。

3. logUtil简介:
1.用处
1.1 应用程序出现问题时,希望能够收集到出现异常的原因进行分析,因此可以把log
    日志保存到一个文件中,放在sd卡程序创建的目录下;也可以在用户联网的情况下,
    在应用程序的后台把出现异常的log日志文件上传到服务器端,方便程序员进行分析,
    从而解决bug.
1.2 当程序出现错误时,希望这个Log类帮我们定位到是哪个类的哪个方法,甚至是哪一行
    出现了错误,给我们的调式带来很大的便利.
2.使用方法:Log.i    Log.w    Log.e     Log.v     Log.d
  
4.监听控件的方法:
1.1 为控件设置id同时为其绑定监听
1.2 为控件设置onClick属性同时创建对应的方法,点击控件时触发对应的方法

5. .jar与.aar区别?

1> *.jar,JAR 文件就是 Java Archive File,顾名思意,它的应用是与 Java 息息相关的,是 Java 的一种文档格式。只包含了class文件与清单文件 ,不包含资源文件,如图片等所有res中的文件。找一个jar文件,然后修改后缀名为‘zip’或者‘rar’格式,然后解压该文件,打开解压后的文件夹,截图如下所示:

点击‘com‘文件夹就会看到里面全部是‘.class’文件。

2>

 *.aar,AAR(Android Archive)包是一个Android库项目的二进制归档文件。我们随便找一个aar文件,然后修改后缀名为‘zip’或者‘rar’格式,然后解压该文件,打开解压后的文件夹,截图如下所示:(每个aar解压后的内容可能不完全一样,但是都会包含AndroidManifest.xml,classes.jar,res,R.txt)

 *.aar文件中包含所有资源,class以及res资源文件。

6. JNI与NDK区别?

1>JNI介绍

  • 定义:Java Native Interface,即 Java本地接口
  • 作用: 使得Java 与 本地其他类型语言(如C、C++)交互

    即在 Java代码 里调用 C、C++等语言的代码 或 C、C++代码调用 Java 代码

  • 特别注意:

    1. JNI是 Java 调用 Native 语言的一种特性
    2. JNI 是属于 Java 的,与 Android 无直接关系

2> NDK介绍

  • 定义:Native Development Kit,是 Android的一个工具开发包 

    NDK是属于 Android 的,与Java并无直接关系

  • 作用:快速开发C、 C++的动态库,并自动将so和应用一起打包成 APK 
    即可通过 NDK在 Android中 使用 JNI与本地代码(如C、C++)交互
  • 应用场景:在Android的场景下 使用JNI

    即 Android开发的功能需要本地代码(C/C++)实现

7. .so文件在eclipse和as中的存放位置的区别?

ec:libs -> armeabi(.so) -> .jar
as:libs(.jar)

    src -> main -> jniLibs -> armeabi(.so)

8.Intent 写法:
  1> Intent intent = new Intent(MainActivity.this,SecondActivity.class);
     startActivity(intent);
  2> Intent intent = new Intent();
     intetn.setClass(this,SecondActivity.class);
     this.startActivity(intent);

  3> startActivity(new Intent(MainActivity.this,SecondActivity.class));

9.设备上创建你文件夹
// 文件保存路径
public static final String savePath = Environment
.getExternalStorageDirectory().getPath() + "/EAPP/hxbank/";
// 创建程序文件存放跟目录
File saveFile = new File(savePath);
if (!saveFile.exists()) {
saveFile.mkdirs();
}

10.零散知识点总结
1>常见的图形化操作
*ddms  *devices *screen capture
*File Explorer  *logcat *console
2>adb常用操作
*sdk manager  *avd manager
*adb环境变量配置
*adb常用命令
1)adb viersion 查看adb的版本
2)adb devices 查看当前所有连接上的设备信息
3)adb shell 来到模拟器或真机的控制台
4)ls 查看目录信息
5)ps 查看当前运行进程信息
6)kill pid 杀死进程
7)ctrl + F11 模拟器横竖屏切换
*adb常见问题
1)connection attempts:1?
(adb kill-server->adb start-server)
2)讲电脑上apk安装到手机上
adb install apk所在目录(直接拖拽)
adb uninstall[包名]
3>点击事件的几种写法
1)在某一个view对象,被点击的时候调用的回调方法
button.setOnClickListener(new MyButtonClickListener());
private class MyButtonClickListener implements OnClickListener{}
2)通过匿名内部类的方式实现点击事件
button.setOnClickListener(new OnClickListener(){});
3)类实现点击接口
button.setOnClickListener(this);
activity implement onClickListener
public void onClick();
4)button自带属性
android:onClick="dail"
public void dail(View v){};
4>代码逻辑追踪
1)syso
2)Log.
3)debug
5>代码部署到真实手机
1)下载适合手机的驱动
6>断点调试
*打断点(双击需要断点的代码行)
*debug as->android application
*选择打断点的行的变量->右击watch
*step over
*resume继续执行
7>apk文件的打包过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值