安卓应用程序是使用Java编程语言开发的,对于有Java基础的人而言,开发安卓应用程序并不难。安卓应用程序的开发主要需要掌握三个方面的知识:Java编程语言、安卓应用程序框架(Android SDK)和安卓应用程序开发工具(Android Studio)。
以下是一些简单的安卓应用程序开发实例:
1. "Hello World" 应用程序
这是你在任何编程语言中编写的第一个程序,也是安卓应用程序开发的开始。它只是一个简单的程序,它在屏幕上输出一行问候语。
要创建 Hello World 应用程序,请按照以下步骤进行操作:
1. 创建新的 Android 项目
2. 创建新的 Activity
3. 在 onCreate() 方法中设置布局和文本视图
4. 在 AndroidManifest.xml 文件中注册 Activity
5. 构建和运行程序
以下是一个例子:
```
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = (TextView) findViewById(R.id.text_view);
tv.setText("Hello World!");
}
}
```
2. 计算器应用程序
计算器应用程序是一个基于用户输入数字和操作符,能够执行简单算术运算的程序。它演示了如何使用布局和事件处理来开发实用的应用程序。
要创建计算器应用程序,请按照以下步骤进行操作:
1. 创建新的 Android 项目
2. 创建新的 Activity
3. 在 onCreate() 方法中设置布局和按钮
4. 添加按钮的 OnClickListener
5. 在事件处理程序中执行计算操作
以下是一个例子:
```
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private TextView mTextView;
private String mResult;
private double mValue1 = Double.NaN;
private double mValue2;
private String mOperator;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTextView = (TextView) findViewById(R.id.text_view);
findViewById(R.id.button_0).setOnClickListener(this);
findViewById(R.id.button_1).setOnClickListener(this);
findViewById(R.id.button_2).setOnClickListener(this);
findViewById(R.id.button_3).setOnClickListener(this);
findViewById(R.id.button_4).setOnClickListener(this);
findViewById(R.id.button_5).setOnClickListener(this);
findViewById(R.id.button_6).setOnClickListener(this);
findViewById(R.id.button_7).setOnClickListener(this);
findViewById(R.id.button_8).setOnClickListener(this);
findViewById(R.id.button_9).setOnClickListener(this);
findViewById(R.id.button_add).setOnClickListener(this);
findViewById(R.id.button_subtract).setOnClickListener(this);
findViewById(R.id.button_multiply).setOnClickListener(this);
findViewById(R.id.button_divide).setOnClickListener(this);
findViewById(R.id.button_decimal).setOnClickListener(this);
findViewById(R.id.button_equals).setOnClickListener(this);
findViewById(R.id.button_clear).setOnClickListener(this);
}
@Override
public void onClick(View view) {
if (view.getId() == R.id.button_clear) {
mValue1 = Double.NaN;
mValue2 = Double.NaN;
mTextView.setText("");
mResult = "";
} else if (view.getId() == R.id.button_equals) {
mValue2 = Double.parseDouble(mTextView.getText().toString());
if (mOperator.equals("+")) {
mResult = String.valueOf(mValue1 + mValue2);
} else if (mOperator.equals("-")) {
mResult = String.valueOf(mValue1 - mValue2);
} else if (mOperator.equals("*")) {
mResult = String.valueOf(mValue1 * mValue2);
} else if (mOperator.equals("/")) {
mResult = String.valueOf(mValue1 / mValue2);
}
mTextView.setText(mResult);
mValue1 = Double.NaN;
mOperator = "";
} else {
String text = ((Button) view).getText().toString();
if (text.equals("+") || text.equals("-") || text.equals("*") || text.equals("/")) {
mValue1 = Double.parseDouble(mTextView.getText().toString());
mOperator = text;
mTextView.setText("");
} else {
mTextView.setText(mTextView.getText().toString() + text);
}
}
}
}
```
3. 天气应用程序
天气应用程序是一个基于用户输入城市名称,从提供天气预报的 API 获取相关数据的程序。它演示了如何使用网络连接和 JSON 解析来开发实用的应用程序。
要创建天气应用程序,请按照以下步骤进行操作:
1. 创建新的 Android 项目
2. 添加网络连接权限
3. 创建新的 Activity
4. 在 onCreate() 方法中设置布局和文本视图
5. 添加获取天气数据的 AsyncTask 和 JSON 解析器
6. 在事件处理程序中调用 AsyncTask 并显示天气数据
以下是一个例子:
```
public class MainActivity extends AppCompatActivity {
private EditText mEditText;
private Button mButton;
private TextView mTextView;
private String mCityName;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mEditText = (EditText) findViewById(R.id.edit_text);
mButton = (Button) findViewById(R.id.button);
mTextView = (TextView) findViewById(R.id.text_view);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mCityName = mEditText.getText().toString();
new GetWeatherTask().execute();
}
});
}
private class GetWeatherTask extends AsyncTask
@Override
protected String doInBackground(Void... voids) {
String response;
try {
URL url = new URL("http://api.openweathermap.org/data/2.5/weather?APPID=
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
InputStream is = new BufferedInputStream(conn.getInputStream());
response = convertStreamToString(is);
} catch (IOException e) {
e.printStackTrace();
response = "Error";
}
return response;
}
@Override
protected void onPostExecute(String result) {
try {
JSONObject json = new JSONObject(result);
JSONObject main = json.getJSONObject("main");
double temp = main.getDouble("temp") - 273.15;
double pressure = main.getDouble("pressure");
double humidity = main.getDouble("humidity");
mTextView.setText(getString(R.string.show_weather, temp, pressure, humidity));
} catch (JSONException e) {
e.printStackTrace();
mTextView.setText(getString(R.string.show_error));
}
}
private String convertStreamToString(InputStream is) {
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line;
try {
while ((line = reader.readLine()) != null) {
sb.append(line).append('\n');
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return sb.toString();
}
}
}
```
这些例子是基础的应用程序,但是他们展示了安卓应用程序开发的主要概念。如果你有Java基础,掌握了安卓应用程序框架和 Android Studio,你就能够开发出更加功能强大而实用的应用程序。