Android开发快速入门Demos,这些列子都是在0.Develop Android App的项目基础上建立的.源码

1. 快速入门主界面列表

截图

布局文件和Kotlin代码如下:

<!-- 列表界面布局 -->
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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">

    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/list_view"/>

</FrameLayout>

package com.example.zhaoliang.learnandroid.activities.quickstart

import android.content.Intent
import android.os.Bundle
import android.view.View
import android.widget.AdapterView
import com.example.zhaoliang.learnandroid.R
import com.example.zhaoliang.learnandroid.activities.base.BaseListBackActivity
import com.example.zhaoliang.learnandroid.activities.quickstart.ui.HelloWorldActivity
import com.example.zhaoliang.learnandroid.activities.quickstart.ui.SimpleDownloadUIActivity

/**
 * 需求:快速入门的一些列子,以后有新的demo直接在这里写
 */
class QuickStartActivity : BaseListBackActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        // 设置标题
        title = getString(R.string.quick_start_title)
    }

    /**
     * 列表项点击事件
     */
    override fun onItemClick(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
        when (position) {
            0 -> startActivity(Intent(this, HelloWorldActivity::class.java))
            1 -> startActivity(Intent(this, SimpleDownloadUIActivity::class.java))
            else -> println("unkown")
        }
    }

    /**
     * 填充列表项数据
     */
    override fun fillData(): Array<out String>? {
        return resources.getStringArray(R.array.QucikStartDatas)
    }
}

2. HelloWorld

截图

布局文件和Kotlin代码如下:

<!-- HelloWorld布局 -->
<?xml version="1.0" encoding="utf-8"?>
<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"
    tools:context="com.example.zhaoliang.learnandroid.activities.quickstart.ui.HelloWorldActivity">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="@string/quick_start_values1" />
</RelativeLayout>

package com.example.zhaoliang.learnandroid.activities.quickstart.ui

import android.os.Bundle
import com.example.zhaoliang.learnandroid.R
import com.example.zhaoliang.learnandroid.activities.base.BaseActivity
import com.example.zhaoliang.learnandroid.activities.base.BastBackActivity

/**
 * 需求:在屏幕上显示HelloWorld
 */
class HelloWorldActivity : BastBackActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_hello_world)
        // 设置标题
        title = getString(R.string.quick_start_title1)
    }
}

3. SimpleDownloadUI

截图

布局文件和Kotlin代码如下:

<!-- SimpleDownloadUI布局 -->
<?xml version="1.0" encoding="utf-8"?>
<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"
    tools:context="com.example.zhaoliang.learnandroid.activities.quickstart.ui.SimpleDownloadUIActivity">

    <Button
        android:id="@+id/btnDownload"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="@string/qucik_start_values2" />
</RelativeLayout>

package com.example.zhaoliang.learnandroid.activities.quickstart.ui

import android.os.Bundle
import android.view.View
import android.widget.Toast
import com.example.zhaoliang.learnandroid.R
import com.example.zhaoliang.learnandroid.activities.base.BaseActivity
import com.example.zhaoliang.learnandroid.activities.base.BastBackActivity
import kotlinx.android.synthetic.main.activity_simple_download_ui.*

/**
 * 需求:简单的模拟下载界面,界面上有一个按钮,点击以后屏幕上弹出下载字样,同时按钮显示下载中。。。
 */
class SimpleDownloadUIActivity : BastBackActivity(), View.OnClickListener {

    /**
     * 下载按钮点击事件
     */
    override fun onClick(v: View?) {
        // Toast
        Toast.makeText(this, getString(R.string.qucik_start_values2), Toast.LENGTH_SHORT).show()
        // 修改按钮文字
        btnDownload.text = getString(R.string.quick_start_values3)
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_simple_download_ui)

        // 设置标题
        title = getString(R.string.quick_start_title2)

        // 给下载按钮设置点击事件
        btnDownload.setOnClickListener(this)
    }
}