安卓期末大作业——个人简历APP源码和设计报告

Android课程需求文档

设计题目: 个人简历APP

学生姓名: 学号:

1.Smart.apk功能设计说明

  1. Android真机运行进入该app。

背景音乐服务播放正常,并设置可通过右上角按钮关闭musicservice;

  1. 1通过viewpager实现屏幕顶部四张图片轮转播放,并设置时间间隔使图片自动轮转,在右下角小圆指示可显示当前图片顺序

1.2 屏幕下方实现了关于个人文字介绍的方面,可通过点击左边的图片及文字查看不同的信息,在右方将不同的信息展示出来,其中包括左右方图片的统一切换,以及左方底部红线的提示功能使左方界面显得并不单调,考虑到安卓手机屏幕大小问题,使用了ScrollView防止左方显示变形,使界面更流畅化

1.3在横竖屏切换时重新设计了横屏的布局,改变了控件以及按钮的位置,使整个APP不因为横屏而畸变,但基本功能与竖屏完全相同

2、通过屏幕中间的微博标志,点击进入个人微博,通过Webview将个人微博展示,并可以通过登录来关注我的个人微博

3.通过点击个人头像进入图片编辑界面,显示Toast:”摇一摇有惊喜”,此时可通过手势对图片进行放大缩小

3.2通过摇晃手机进入视频播放页面,显示Toast:“播放视频”通过点击屏幕实现视频的播放

二. 程序源代码清单

APP通过Android Studio开发,采用Android4.3SDK开发,首先在真机上运行无BUG,在虚拟机上运行测试,图片显示,字体显示,ScrollView显示,各项功能毫无问题,屏幕大小适配方面无问题。

APK大小4.9MB符合要求。

下面是该APP开发清单,包括APP的java代码,布局文件,AndroidMainfest文件,图片信息存于drawable文件中,音乐与视频在raw文件夹中

END 感谢钱老师的耐心教导∩_∩

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
以下是一个简单的安卓天气预报应用程序的源代码,你可以在 Android Studio 中创建一个新的项目,将代码复制粘贴到相关文件中,然后运行应用程序。 MainActivity.java ``` import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import com.android.volley.Request; import com.android.volley.RequestQueue; import com.android.volley.Response; import com.android.volley.VolleyError; import com.android.volley.toolbox.JsonObjectRequest; import com.android.volley.toolbox.Volley; public class MainActivity extends AppCompatActivity { private EditText cityField; private Button submitButton; private TextView temperatureText; private TextView descriptionText; private RequestQueue requestQueue; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 实例化 UI 组件 cityField = findViewById(R.id.city_field); submitButton = findViewById(R.id.submit_button); temperatureText = findViewById(R.id.temperature_text); descriptionText = findViewById(R.id.description_text); // 实例化 Volley 请求队列 requestQueue = Volley.newRequestQueue(this); // 绑定提交按钮的点击事件 submitButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 获取用户输入的城市名 String city = cityField.getText().toString(); // 发送 API 请求获取天气数据 String url = "https://api.openweathermap.org/data/2.5/weather?q=" + city + "&appid=YOUR_API_KEY&units=metric"; JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { try { // 解析 JSON 数据并更新 UI JSONArray weatherArray = response.getJSONArray("weather"); JSONObject weatherObject = weatherArray.getJSONObject(0); String description = weatherObject.getString("description"); JSONObject mainObject = response.getJSONObject("main"); double temperature = mainObject.getDouble("temp"); temperatureText.setText(String.format("%.1f°C", temperature)); descriptionText.setText(description); } catch (JSONException e) { e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { // 显示错误信息 temperatureText.setText("N/A"); descriptionText.setText("无法获取天气数据,请检查城市名是否正确。"); } }); requestQueue.add(jsonObjectRequest); } }); } } ``` 此代码中,我们使用了 EditText、Button 和 TextView 组件来显示用户输入的城市名、触发获取天气数据的过程和显示天气数据。我们还使用了 Volley 库来发送 API 请求并处理响应。在 onCreate() 方法中实例化了这些组件和 Volley 请求队列,并且在提交按钮的点击事件中发送 API 请求。在响应成功的回调函数中,我们解析 JSON 数据并且更新 UI,如果发生错误则显示相应的错误信息。 activity_main.xml ``` <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="16dp"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="输入城市名" android:textSize="20sp" /> <EditText android:id="@+id/city_field" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="城市名" /> <Button android:id="@+id/submit_button" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="获取天气数据" /> <TextView android:id="@+id/temperature_text" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="50sp" android:text="N/A" android:textAlignment="center" android:paddingTop="32dp" android:paddingBottom="32dp" /> <TextView android:id="@+id/description_text" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="20sp" android:text="无法获取天气数据,请检查城市名是否正确。" android:textAlignment="center" /> </LinearLayout> ``` 此代码中,我们使用了 LinearLayout 和 TextView 组件来布局和显示 UI,使用了 EditText 和 Button 组件来获取用户输入和触发相应的操作。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值