android framework

android framework 升级第4天

2021-01-25  本文已影响0人  Blanchard
android-hello-world-screen.png

Android App 基础

没有1w字的前提,没有200步骤的环境准备,直接开始
找一台 linux 系统或者虚拟机, 打开终端窗口 直接运行下面脚本,
或者手工每一行敲进终端窗口

AndroidManifest.xml

[ -d ~/src/AOSP/ ] && \
mkdir -p ~/src/AOSP/HelloWorldApp && cd ~/src/AOSP/HelloWorldApp
cat>AndroidManifest.xml<<EOF
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.jianshu.blanchard"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="7" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:label="@string/app_name"
            android:name=".HelloWorldActivity" >
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
EOF

生成基础骨架

[ -d ~/src/AOSP/ ] && \
mkdir -p ~/src/AOSP/HelloWorldApp && cd ~/src/AOSP/HelloWorldApp
mkdir -p src/com/jianshu/blanchard
mkdir -p res/{drawable,layout,values}
mkdir -p res/drawable-{hdpi,mdpi,ldpi}

drawable 图片资源

右键另存为 ic_launcher.png,
按 大,中,小分别放进 res/drawable-hdpi res/drawable-mdpi res/drawable-ldpi

ic_launcher.png
ic_launcher.png
ic_launcher.png

字符串资源

[ -d ~/src/AOSP/ ] && \
mkdir -p ~/src/AOSP/HelloWorldApp && cd ~/src/AOSP/HelloWorldApp
mkdir -p res/values
cat>res/values/strings.xml<<EOF
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello World, HelloWorldActivity!</string>
    <string name="app_name">HelloWorld</string>
</resources>
EOF

layout 文件

[ -d ~/src/AOSP/ ] && \
mkdir -p ~/src/AOSP/HelloWorldApp && cd ~/src/AOSP/HelloWorldApp
cat>res/layout/activity_main.xml<<EOF
<?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"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />

</LinearLayout>
EOF

HelloWorldActivity.java

[ -d ~/src/AOSP/ ] && \
mkdir -p ~/src/AOSP/HelloWorldApp && cd ~/src/AOSP/HelloWorldApp
mkdir -p mkdir -p src/com/jianshu/blanchard
cat>src/com/jianshu/blanchard/HelloWorldActivity.java<<EOF
package com.jianshu.blanchard;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class HelloWorldActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        TextView text = new TextView(this);
        text.setText("Hello World, Android - mkyong.com");
        setContentView(text);
        //setContentView(R.layout.main);
    }
}

参考

https://mkyong.com/android/android-hello-world-example/
https://developer.android.com/codelabs/android-training-hello-world

上一篇下一篇

猜你喜欢

热点阅读