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显示
对于按钮,要绑定监听器,具体用法看上面就行了
- Android开发菜鸟级入门1--开发环境尝鲜&简易计算器
- 尝鲜delphi开发android/ios_环境搭建
- 尝鲜basic开发android
- Android Kotlin开发尝鲜
- java开发简易计算器
- Android开发菜鸟级入门3--定时器
- Android入门项目1:简易计算器
- Cocos2dx发布Android包,配置开发环境(菜鸟级入门,一看就会)
- Cocos2dx发布Android包,配置开发环境(菜鸟级入门,一看就会)
- Android系列案例2:android开发简易计算器
- Android开发——实现Android简易计算器
- Android 开发环境入门
- Android程序员学PHP开发(13)-简易计算器-PhpStorm
- Android菜鸟---搭建Android开发环境
- Android菜鸟的成长笔记(1)——Android开发环境搭建从入门到精通
- Android菜鸟的成长笔记(1)——Android开发环境搭建从入门到精通
- 简易版myeclipse android开发环境搭建
- Android开发菜鸟级入门2--尝试升级&绘图
- 阅读Peercast源码的一些经验
- java---多态
- 软件测试管理要素
- 欧拉函数
- iOS中的GCD(1)---串、并行队列和同、异步添加
- Android开发菜鸟级入门1--开发环境尝鲜&简易计算器
- Android的图片压缩类ThumbnailUtils,供源码研究
- 斐波那契数列的性质
- Linux Shell 之 Shell 基本控制结构(二)(循环结构)
- Nexus 搭建Maven 私服
- hihocoder: 1239 Fibonacci(微软2016校园招聘9月在线笔试)
- 用555定时器产生的N分频器设计
- 讲述程序员的发展方向
- 折腾过的TeskLink上传图片功能