Android小试牛刀之遇到的问题

1、运行出错

  

  创建项目时没有使用Empty Activity,创建。

2、创建第一个工程

    选择Empty Activity才会自动创建Hello Word代码块

    

3、appcompat_v7的说明

    在创建项目时,系统会自动创建此项目,因为我们在创建时时选择的Minimum Required SDK是API:8 Android 2.2(Froyo)

    

    appcompat_v7是作为一个类库项目存在的,本身不能单独运行,而HelloAndroid项目则引用了appcompat_v7项目,继而可以使用appcompat_v7编写好的类库,如下图所示:

    

    上网查了一下为什么会出现appcompat_v7这个项目,原来是:appcompat_v7是Google自己的一个兼容包,就是一个支持库,能让Android2.1以上全使用上4.0版本的界面。而刚才我们创建项目时,选择的能够运行HelloAndroid这个Android项目的最低Android版本(Minimum Required SDK)是API:8 Android 2.2(Froyo),所以Eclipse认为我们开发的应用要能够在Android2.2版本的系统上面运行,因此自动帮我们创建了appcompat_v7这个项目。appcompat_v7这个项目我们在开发中基本上不用理会的,专心在我们自己的项目上面做开发就好了。 

4、创建项目避免创建appcompat_v7项目的办法

  在上面,我们已经知道了appcompat_v7这个项目为什么会被创建出来的原因,appcompat_v7是一个支持库,能让Android2.1以上全使用上4.0版本的界面。如果我们开发的应用不需要在Android4.0以下的平台运行,那么我们建项目时直接把最小SDK选在Android4.0以上,这样创建项目就可以避免多创建appcompat_v7这个项目,如下图所示:

  创建项目时选择Minimum Required SDK是API:15 Android 4.0.3,如下图所示:

  

  这就表示我们的HelloAndroid应用最低只能在Android4.0.3的系统上运行,低于Android4.0.3的Android系统就无法运行我们这个应用了。

  这回创建出来的就只有HelloAndroid一个项目了,如下图所示:

  

  也就是说:使用Eclipse创建Android项目时,如果选择的Minimum Required SDK是低于Android4.0以下的,那么Eclipse就会自动创建多一个appcompat_v7项目,如果选择的Minimum Required SDK是Android4.0以上的,那么Eclipse就不会创建appcompat_v7项目。

5、libs和jnilibs的区别

  在eclipse中把so文件都放在libs文件夹中,而在Android studio中把jar文件放在libs目录中,而把so文件放在main文件夹下的jniLibs文件夹中,如果没有要新建且名称不能改。

  有一些第三方的sdk下载的libs中包含有so文件,如果使用的是Android studio但是又想把so文件放在libs文件夹中吗,这时候要在app>build.gradle中加入下面的配置,意思是jnilibs的src路径是libs。

sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }

 6、华为手机wifi无线调试

  拨号键输入   *#*#2846579#*#*   进入工程菜单,其它menu  不要管, 进入后台设置   ,点击USB端口修改生产模式 。  当你调试 时候  没有LOG 信息输出 , 那就在此 menu 将LOG 设置打开,全选。      后台调试此menu ,望大家跳过, 开启是需要密码的, 傻吊 工程师设置的, 最好不要乱选,选了之后 回来 是会重启,导致你之前设置的生产模式  和 LOG信息开关 重置。  

7、settings应用中的点击3次打开开发者选项源码

  如果是5次的话,要调整mHits和时间。

  第一次和最后一次点击相差500ms的时候,表示连点3次。如果是连点5次,时间要调整的大一点。

long[] mHits = new long[3];
        System.arraycopy(mHits, 1, mHits, 0, mHits.length-1);
            mHits[mHits.length-1] = SystemClock.uptimeMillis();
            if (mHits[0] >= (SystemClock.uptimeMillis()-500)) {
               //执行相关代码
            }

 

posted @ 2015-10-06 16:52  随缘梦中人  阅读(320)  评论(0编辑  收藏  举报