android 开发

来源:互联网 发布:java 2ee与java ee 编辑:程序博客网 时间:2024/04/28 11:22

android.com  android源码:source.android.com,安卓开发者主页:developer.android.com

  

android开发环境:

环境下载:http://pan.baidu.com/disk/home

Jdk sdk adt 与环境配置。虚拟机AVD 命令adb,真机测试,开发者选项等

Classpath.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

AndroidC:\Users\David\android-sdks\platform-tools

JAVA_HOME: D:\java\Java\jdk1.6.0_39

 

 

Path

%Android%;

%JAVA_HOME%\bin;

%JAVA_HOME%\jre\bin

 

1.android 工程与项目结构域文件介绍:

建立安卓项目介绍:

Android app project(第一个字母要大写)

 

Android 工程结构:

 

资源文件

Assets :字体 动画等资源。

Res:图像 菜单 字符串 布局(界面,图片,数据)

源代码文件:src

自动生成文件gen 

R.java(使用到的资源目录)

使用R资源:

@String/XXR.String.XX

 

配置文件:AndroidManifest.xml(项目清单文件)

应用包,确定主窗口,如何处理程序,api权限,api级别:1.1=21.5=3 4.1=16

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

    package="com.json.turuanmessage"

    android:installLocation="preferExternal"

    android:versionCode="1"

    android:versionName="1.0" >

 

    <uses-sdk

        android:minSdkVersion="10"

        android:targetSdkVersion="10" />

 

    <uses-permission android:name="android.permission.SEND_SMS" />

    <uses-permission android:name="android.permission.WRITE_SMS" />

    <uses-permission android:name="android.permission.READ_SMS" />

    <uses-permission android:name="android.permission.READ_CONTACTS" />

    <uses-permission android:name="android.permission.RECEIVE_SMS" />

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <uses-permission android:name="android.permission.READ_PHONE_STATE" />

    <uses-permission android:name="android.permission.RECEIVE_SMS" />

<uses-permission android:name="android.permission.WRITE_CONTACTS/>

    <application

        android:icon="@drawable/ic_launcher"

        android:label="@string/app_name" >

         <activity

            android:name=".FirstActivity"

            android:configChanges="keyboardHidden|orientation"

            android:label="@string/app_name"

            android:screenOrientation="portrait"

            android:theme="@android:style/Theme.Wallpaper.NoTitleBar" >

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />

 

                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity>

  

        <activity

            android:name=".PasswordActivity"

            android:configChanges="keyboardHidden|orientation"

            android:label="@string/app_name"

            android:screenOrientation="portrait"

            android:theme="@android:style/Theme.Wallpaper.NoTitleBar" >

        </activity>

        <activity

            android:name=".StartActivity"

            android:configChanges="keyboardHidden|orientation"

            android:label="@string/app_name"

            android:launchMode="singleTask"

            android:screenOrientation="portrait"

            android:theme="@android:style/Theme.Wallpaper.NoTitleBar" >

            

        </activity>

    

             <activity

            android:name=".SendMSActivity"

            android:hardwareAccelerated="true"

            android:configChanges="keyboardHidden|orientation"

            android:screenOrientation="portrait"

            android:theme="@android:style/Theme.Wallpaper.NoTitleBar"

            android:windowSoftInputMode="stateHidden" /> 

        <activity

            android:name=".MessageModelActivity"

            android:configChanges="keyboardHidden|orientation"

            android:screenOrientation="portrait"

            android:theme="@android:style/Theme.Wallpaper.NoTitleBar" />

       <activity

            android:name=".MSRecodeActivity"

            android:configChanges="keyboardHidden|orientation"

            android:screenOrientation="portrait"

            android:theme="@android:style/Theme.Wallpaper.NoTitleBar" /> 

         

       <activity

            android:name=".FireWorkActivity"

            />

 

        <activity

            android:name=".SettingsActivity"

            android:configChanges="keyboardHidden|orientation"

            android:screenOrientation="portrait"

            android:theme="@android:style/Theme.Wallpaper.NoTitleBar"

            android:windowSoftInputMode="stateHidden" />

       

    </application>

 

     

</manifest>

应用程序组件:

活动窗口ActivityC相当于csform,web的页面),处理界面与UI活动。7个生命周期

意图IntentBundle),组件间通信(信使):可以封装和传递6种数据

 

组件名(如调用窗口):setClass(),setClassName(),setComponent();

动作

       <intent-filter>

                <action android:name="android.intent.action.MAIN" />

 

                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

种类

数据

附加信息

标志

 

服务(Service)组件,后台服务(如硬件服务与驱动)

广播接收组件(brodacase receivers

视图(ViewTextViewGridView,ListView,ExpandableListView,ImageView)

 

布局layout(5种布局)与控件

控件与属性(文本框EditText,提示框Toast,对话框Dialog,按钮Button,菜单Menu,进度条ProgressBar,选项卡,通知栏等)

数据处理(事件,适配器Adapter

 

 

项目流程:

 

安卓UI设计(*

Activity_first.xml:

<?xml version="1.0" encoding="UTF-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent" >

 

    <com.ant.liao.GifView

        android:id="@+id/gifView"

        android:layout_width="fill_parent"

        android:layout_height="fill_parent" />

 

</LinearLayout>

FirstActivity.java:

package com.json.turuanmessage;

 

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

 

public class FirstActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

Intent intent = new Intent(FirstActivity.this,PasswordActivity.class);

startActivity(intent);

this.finish();

}

}

 

Activity间传递数据:

Intent 传递数据

不传递数据(空数据),直接启动

Intent intent = new Intent(FirstActivity.this,PasswordActivity.class);

startActivity(intent);

传递数据

public class MainActivity extends Activity {

      protected void onCreate(Bundle savedInstanceState) {

.......

 button.setOnClickListener(new View.OnClickListener(){//点击该按钮会打开一个新的Activity

          public void onClick(View v) {

           Intent intent = new Intent(MainActivity.this, NewActivity.class)

Bundle bundle = new Bundle();//该类用作携带数据

bundle.putString("name", tom");

bundle.putInt("age", 4);

intent.putExtras(bundle);//附带上额外的数据

startActivity(intent);

}}); }

}

在新的Activity中接收前面Activity传递过来的参数:

public class NewActivity extends Activity {

           protected void onCreate(Bundle savedInstanceState) {

     Bundle bundle = this.getIntent().getExtras();

     String name = bundle.getString("name");

                    int age = bundle.getInt("age");           }      }

 

使用静态变量传递数据

使用剪贴板传递数据

使用全局对象传递数据

数据存储方案:

sharedPreferences(key-value,字符串类型数据)

文件流操作(openFileOutput,openFileInput,读写sd卡的文件)

Json格式数据

Sqlite

Sd卡上的数据库

内存数据库

 

运行调试项目。

真机测试:

 

 

Android基础

Android体系结构:

 

 附录:android 开发环境配置eclipse图:


0 0
原创粉丝点击