您的位置:首页 > 移动开发 > Android开发

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

2015-10-09 22:37 399 查看
因为最近有移动端开发的任务要,作为从未做个安卓开发的小白我已经激动得不行了。

首先我在网上下载了最新的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";

@Override
protected 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显示

对于按钮,要绑定监听器,具体用法看上面就行了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: