Android开发菜鸟级入门1--开发环境尝鲜&简易计算器

来源:互联网 发布:大数据种类 编辑:程序博客网 时间:2024/06/06 09:06

因为最近有移动端开发的任务要,作为从未做个安卓开发的小白我已经激动得不行了。

首先我在网上下载了最新的Android Studio地址:http://ask.android-studio.org/?/article/9  这个网站上都有

界面灰常赞,我切换到了全屏模式

虽然完全从文盲开始(甚至连java都没怎么学),但是以前也开发过MFC程序,想当然地感觉有几分相近

目前,我了解到的是

.xml的文件是用来做界面的

.java的才是程序

但是,当我调试的时候突然发现sdk搞不定,索性用自己手中的Android手机直接在线调试,也省得打开虚拟机了。

手机上要把USB Debug的权限打开,然后在AS(android studio)上菜单栏中的

Run->Edit Configuration中选上

USB...

接下来创建第一个安卓工程HelloAndroid

接下来编写第一行代码

首先想到开发安卓应用程序跟用mfc开发windows应用程序差不多吧,应该会有消息响应机制,首先我先来写个能报告

进程打开、关闭的程序吧!


在java文件栏目(左边)的MainActivity文件中,我加了如下几行

import android.util.Log;

//有点像c语言中的include,导入一个库文件,这个文件可以帮助我们输出调试信息

在MainActivity这个方法中

public class MainActivity extends Activity {

我们在下面加入

static final String Activity_ID="MainActivity";@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    Log.i(Activity_ID,"onCreate!");}protected void onDestroy(){    super.onDestroy();    Log.i(Activity_ID,"onDestroy!");}protected  void onPause(){    super.onPause();    Log.i(Activity_ID,"onPause!");}protected void onResume(){    super.onResume();    Log.i(Activity_ID,"onResume!");}protected void onStart(){    super.onStart();    Log.i(Activity_ID,"onStart!");}protected void onStop(){    super.onStop();    Log.i(Activity_ID,"onStop!");}

点击run,程序自动下载到手机,然后自动启动!这时候小白我激动得不得已

查看下输出栏,发现了以下几个事实:

当我启动程序的时候

10-09 20:12:37.422  16853-16853/com.example.xyt.helloandroid I/MainActivity﹕ onCreate!
10-09 20:12:37.422  16853-16853/com.example.xyt.helloandroid I/MainActivity﹕ onStart!
10-09 20:12:37.422  16853-16853/com.example.xyt.helloandroid I/MainActivity﹕ onResume!

当我点击手机的退出,返回桌面时

10-09 20:14:30.542  17803-17803/com.example.xyt.helloandroid I/MainActivity﹕ onPause!
10-09 20:14:31.022  17803-17803/com.example.xyt.helloandroid I/MainActivity﹕ onStop!

然后又打开

10-09 20:14:59.882  17803-17803/com.example.xyt.helloandroid I/MainActivity﹕ onStart!
10-09 20:14:59.882  17803-17803/com.example.xyt.helloandroid I/MainActivity﹕ onResume!

杀进程

10-09 20:15:50.632  18405-18405/com.example.xyt.helloandroid I/MainActivity﹕ onDestroy!

好了现在对这几个东西的特征有点了解了

目前,我又发现Activity这个东西原来就是一个活动界面


好了,现在开始第一个开发,简单计算器,我只要做个加法计算器就行了

两个输入框,一个显示输出框,再加上一个按键

没错就 这么简单


简直跟mfc一模一样,拖控件!

我毫不犹豫地加了一个button上去

该死,竟然没有EditControl!!算了,自己码出来

突然发现这有点难度,百度


首先是activity_main.xml文件

<LinearLayout    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical"    android:weightSum="1">    <TextView        android:text="@string/hello_world"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:id="@+id/textView" />    <EditText        android:text=""        android:id="@+id/edit1"        android:layout_width="fill_parent"        android:layout_height="wrap_content" />    <EditText        android:text=""        android:id="@+id/edit2"        android:layout_width="fill_parent"        android:layout_height="wrap_content" />    <Button        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="New Button"        android:id="@+id/button" /></LinearLayout>

这里使用的LinearLayout是一种列表性质的框架

下面分别搞了一个按钮两个编辑框一个文本

然后开始最重要的了

在java文件中引用库

import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;

然后下面贴了主要代码

public class MainActivity extends Activity {    static final String Activity_ID="MainActivity";    OnClickListener listener=null;    EditText edit1;    EditText edit2;    TextView out;    Button add;    double num1=0,num2=0,result=0;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Log.i(Activity_ID, "onCreate!");        setTitle("AddProgram");        out=(TextView)findViewById(R.id.textView);        add=(Button)findViewById(R.id.button);        edit1=(EditText)findViewById(R.id.edit1);        edit2=(EditText)findViewById(R.id.edit2);        listener=new OnClickListener() {            @Override            public void onClick(View v) {                CharSequence str1=edit1.getText();                CharSequence str2=edit2.getText();                String ms1=str1.toString();                String ms2=str2.toString();                num1=Double.parseDouble(ms1);                num2=Double.parseDouble(ms2);                result=num1+num2;                String tmp=String.valueOf(result);                out.setText(tmp);            }        };        add.setOnClickListener(listener);    }

这样,一个基本的计算器就搞定了

其实跟c++类似,CharSequence相当于字符串的数据结构

下面只要将编辑框中的转换成值计算再转化成string显示

对于按钮,要绑定监听器,具体用法看上面就行了





0 0
原创粉丝点击