zoukankan      html  css  js  c++  java
  • android 01

    安卓开源(就是免费),谷歌收购后推出,可以山寨(小米,三星都是安卓的山寨),ios不是开源(苹果应用要商用就要交钱)。安卓3.0是平板,现在安卓至少是4.0以上,否则out了。
    微软主要是系统和office赚钱。
    应用:平板、手机、笔记本、智能家电(android智能电视,android微波炉、android洗衣机、android智能手环、导航)
    小米系统是MIUI是andriod的山寨,2014年成为全球第三大手机供应商,中国第一大手机供应商。
    阿里云系统也是android系统。
    印度外包做的最大。
    
    安卓分为4层:
    最上层应用开发层:邮件开发。
    框架层:java写的,封装了类库层,c语言做java语言的封装。
    类库和安卓运行时层:c语言写的,C语言运行效率高。
    最底层是linux,用c语言,做驱动的开发。
    
    SDK:软件开发工具包。   API:接口。   ART:安卓runtime。  apk:安卓package,压缩包,可以反编译成.jar文件,放在安卓手机上就可以用了。    dex:虚拟机可执行程序,就像windown的exe文件,包含在apk里面,dex是apk里面的可执行文件。
    adt:安卓development库,安卓开发工具,一个插件。
    app:application.
    
    安卓5.0,2014年10月发布,使用Material Design设计语言设计UI.支持64位操作系统。现在很多手机都是64位,64位运行效率高,内存要求大,内存要4G.
    
    现在谷歌的网站只有翻墙才能访问。
    
    下载adt-bundle-windows-x86_64-20140702.zip这是最新的。这个是64位,是安卓4.4w,是最新的。
       
    genymotion:安卓第三方模拟器。
    
    环境变量:
    ANDROID_SDK_HOME = D:adt5.0sdk
    Path = %ANDROID_SDK_HOME%	ools;%ANDROID_SDK_HOME%tools
    android -h 判断sdk是否安装成功 AVD:模拟器 新建模拟器:
    RAM:模拟的手机内存512M  vm heap:模拟虚拟机堆64M  Internal Storage:模拟的手机存储卡200M,  SD Card:模拟的手机SD卡300M,
    模拟器创建好了以后目录:D:andriod
    ewfilead5_0sdk.android
    然后在AVD框中启动模拟器。
    activity:当前一个屏幕的java类,
    MainActivity:程序的第一个入口类
    activity_main:给activity设置布局文件,activity屏幕的布局。

     

    appcompat_v7:兼容包,安卓高版本能跑在安卓低版本机器上。
    src文件夹:自己的类
    R.java:res资源文件的目录,只读的。
    libs文件夹:第三方jar包,微信jar,百度地图的jar,外接的包复制进libs文件夹,则在Android Private Libraries会同步出现。
    assets文件夹:安卓原生资源,音频视频图片
    bin文件夹:binary(二进制),系统生成的2进制的文件。
    res文件夹:resource,drawable-hdpi下面可以放一些静态图片和动画。
    h是high的意思,hdpi是高分辨率(每英寸有240个像素点),ldpi:低分辨率(每英寸有120个像素点),mdpi:中分辨率(标准分辨率,每英寸有160个像素点),xhdpi:比hdpi还高的分辨率(每英寸有320个像素点),xxhdpi:比xhdpi更高的分辨率(每英寸有440个像素点)。
    因为安卓厂商的不同手机的分辨率不一样,为了适配不同分辨率的手机,所以设置文件夹适配不同的手机。
    res下的layout文件夹显示UI上的控件的摆放方式,activity_main.xml就是MainActivity类对象的视图。
    
    menu文件夹:设置菜单资源
    
    values文件夹:是设置各种值的,dimens.xml设置距离的,strings.xml设置字符串资源的。styles.xml设置风格的。

     activity_main.xml

    <RelativeLayout 
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"  宽度跟父容器一样,也可以是300px,300dp
        android:paddingBottom="@dimen/activity_vertical_margin"   内部间距像素
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context="com.example.helloworid.MainActivity" >
    <!-- RelativeLayout相对的布局,使用频率很高,跟父容器定位, -->
        <TextView   只读文本
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/hello_world" />     直接写不利于国际化
    
    </RelativeLayout>
    R.java:为res文件夹下的图片、布局、菜单、数据资源建立的索引。每一个资源都是通过一个常量标识的,便于其他地方引用这个资源。如果没有R.java则java代码是无法访问这些资源的,

    R.java

    package com.sxt.day01_01;
    
    public final class R {//内部类表示不同的资源
        public static final class attr {
        }
        public static final class dimen {//dimens.xml
           
            public static final int activity_horizontal_margin=0x7f040000;
            public static final int activity_vertical_margin=0x7f040001;
        }
        public static final class drawable {//对应drawable文件夹
            //所有的ic_launcher.png(点击可以进入查看图片),后面是16进制的值,唯一值,自动生成的。
            //类的首字母不是大写,
            public static final int ic_launcher=0x7f020000;
        }
        public static final class id {
            public static final int action_settings=0x7f080003;
            public static final int btnLogin=0x7f080002;
            public static final int et=0x7f080001;
            public static final int textview1=0x7f080000;
        }
        public static final class layout {//对应layout文件夹
            public static final int activity_main=0x7f030000;
        }
        public static final class menu {
            public static final int main=0x7f070000;//menu文件夹下的main.xml
        }
        public static final class string {
            public static final int action_settings=0x7f050001;//values文件夹下的strings.xml里面的一个变量
            public static final int app_name=0x7f050000;
            public static final int hello_world=0x7f050002;
        }
        public static final class style {
            
            public static final int AppBaseTheme=0x7f060000;
           
            public static final int AppTheme=0x7f060001;
        }
    }
    dp:独立于设备,标准分辨率下,1dp=1px,高分辨率下1dp=240/160=1.5px,低分辨率下1dp=120/160=0.75px,
    px:像素,
    sp:独立于设备,和dp差不多,表示文字的大小。
    推荐:距离用dp,文字大小用sp。
    
    EditText:有交互的文本交互框,可以修改,TextView只能看不能修改,EditText继承TextView,TextView的属性EditText都有,

     activity_main.xml

    <RelativeLayout 
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <TextView
            android:id="@+id/textview1"
            android:layout_width="wrap_content"
            android:layout_height="50px"
            android:text="@string/hello_world" 
            android:textColor="#000"
            android:textSize="30sp"
            android:visibility="visible"/>
        <EditText                                                 //可以滚屏
            android:id="@+id/et"
            android:layout_below="@id/textview1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="输入登陆密码"
            android:textSize="20sp"
            android:textColor="#ccc"
            android:cursorVisible="false"                   //光标是否可见 
            android:editable="false"/>                    //是否可编辑
        <Button 
            android:id="@+id/btnLogin"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="登陆"
            android:drawableLeft="@drawable/ic_launcher"    //按钮设置图片,图片在左边,文字在右边,drawableTop:上图下字,drawableRight:右图左字
            android:layout_alignParentBottom="true"/>
    </RelativeLayout>
  • 相关阅读:
    编写屏幕保护程序
    C++调用JS函数
    connected standby
    用户层APC队列使用
    WebBrowser2控件使用
    UUID
    网络过滤驱动
    windows短路径转换成长路径
    解析快捷方式指向的文件
    获取进程占用的内存
  • 原文地址:https://www.cnblogs.com/yaowen/p/4878846.html
Copyright © 2011-2022 走看看