您的位置:首页 > 健康 > 养生 > 郴州旅游攻略_南昌优化网站服务_上优化seo_东莞网站公司哪家好

郴州旅游攻略_南昌优化网站服务_上优化seo_东莞网站公司哪家好

2024/12/23 9:17:10 来源:https://blog.csdn.net/qq_29823791/article/details/143097336  浏览:    关键词:郴州旅游攻略_南昌优化网站服务_上优化seo_东莞网站公司哪家好
郴州旅游攻略_南昌优化网站服务_上优化seo_东莞网站公司哪家好

目录

一、项目演示

二、项目测试环境

三、项目详情

四、完整的项目源码 


一、项目演示

网络资源模板--基于Android studio 实现的背单词App

二、项目测试环境

三、项目详情

所有项目页面展示:

启动页

  1. 欢迎动画:在 onCreate 方法中,创建了一个透明度动画,使得欢迎图片逐渐显示,动画持续 5000 毫秒。

  2. 动画监听:实现了 Animation.AnimationListener 接口,监听动画的开始和结束。在动画开始时,设置欢迎页面的背景资源;在动画结束时,调用 skip() 方法进行跳转。

  3. 跳转逻辑:在 skip() 方法中,首先调用 initday() 初始化日期信息。根据用户是否是第一次运行来决定跳转到主活动 MainActivity 还是选择书籍活动 Selectbook

  4. 首次运行检查:在 initday() 方法中,通过 SharedPreferences 检查用户的首次运行状态。如果是第一次运行,设置标志并跳转到选择书籍活动;如果不是,获取用户的天数和数据库名称。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"><ImageViewandroid:id="@+id/welcome_img"android:layout_width="match_parent"android:layout_height="match_parent" />
</RelativeLayout>

首页

  1. Intent 键名一致性:确保在不同活动中使用相同的键名。
  2. 空指针检查:增加对可能为 null 的对象的检查。
  3. 简化按钮点击监听:提高代码的可读性和维护性。
  4. 适时更新 UI:在合适的时机更新用户界面。
  5. 资源释放:注意内存管理,及时释放不再使用的资源。
public class MainActivity extends Activity {public static int daywords = 10; // 每天的单词数量public static int fence; // 用于存储“围栏”值public static void actionStart(Context context, int f) {Intent intent = new Intent(context, ReviewLetterMain.class); // 创建意图,跳转到ReviewLetterMain活动intent.putExtra("Fence", f); // 将围栏值传递给下一个活动context.startActivity(intent); // 启动活动Log.v("hh", "main_action" + fence); // 打印日志}protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main); // 设置布局fence = getIntent().getIntExtra("newFence", 0); // 获取传入的围栏值((Button) findViewById(R.id.button)).setOnClickListener(v -> {MainActivity.actionStart(MainActivity.this, MainActivity.fence); // 点击按钮时启动ReviewLetterMain活动});((Button) findViewById(R.id.memwords)).setOnClickListener(v -> {MainActivity.this.startActivity(new Intent(MainActivity.this, MemorizeWords.class)); // 跳转到MemorizeWords活动});((Button) findViewById(R.id.books)).setOnClickListener(v -> {MainActivity.this.startActivity(new Intent(MainActivity.this, Selectbook.class)); // 跳转到Selectbook活动});}public void initdayview() {TextView tvbooks = (TextView) findViewById(R.id.tvbook); // 获取书籍文本视图((TextView) findViewById(R.id.day)).setText("" + ((int) Math.ceil((double) (DatabaseUtil.getnumgroupbyvis(0) / daywords)))); // 显示当天的单词数((TextView) findViewById(R.id.words)).setText("" + daywords); // 显示每日单词目标if (DBManager.DB_NAME == Selectbook.cetbook[0]) {tvbooks.setText("四级词汇"); // 如果当前数据库是四级词汇,则显示相应文本} else {tvbooks.setText("六级词汇"); // 否则显示六级词汇}}protected void onStart() {super.onStart();new DBManager(this).openDatabase(); // 打开数据库连接initdayview(); // 初始化显示信息if (!NetworkUtil.isNetworkAvailable(this)) {NetworkUtil.showSetNetworkUI(this); // 如果网络不可用,显示网络设置界面} else {Toast.makeText(this, "网络可用...", Toast.LENGTH_SHORT).show(); // 网络可用时显示提示}}
}

背单词页面

  1. 单词学习:该类用于帮助用户学习和记忆单词,通过展示单词及其中文提示,用户可以标记已知或不熟悉的单词。

  2. UI 更新:根据用户的选择,动态更新界面,显示当前单词及其状态。

  3. 状态管理:通过管理单词的访问状态,跟踪用户对单词的熟悉程度。

  4. 数据持久化:与数据库交互,将用户的学习状态保存,以便下次使用。

  5. 统计功能:实时更新已知单词数量和新单词数量,为用户提供学习进度的反馈。

  6. 生命周期管理:在合适的时机保存和恢复用户的学习状态,确保数据不丢失。

    private void Updatenowword() {Calendar calendar = Calendar.getInstance();String str = calendar.get(1) + "" + (calendar.get(2) + 1) + "" + calendar.get(5);this.timekey = str; // 获取当前日期作为键SharedPreferences sharedPreferences = getSharedPreferences(str, 0);if (sharedPreferences.getInt(shkonwwordkey, 0) != 0) {int i = sharedPreferences.getInt(shkonwwordkey, 0);this.knownum = i; // 更新已知单词数量this.newwordnum = i; // 更新新单词数量} else {this.knownum = 0; // 初始化已知单词数量this.newwordnum = 0; // 初始化新单词数量}this.tvokword.setText("" + this.knownum); // 显示已知单词数量this.tvnewword.setText("" + this.newwordnum); // 显示新单词数量if (this.knownum >= MainActivity.daywords) {ShowExtendWordsDialog(); // 如果已知单词数量达到目标,显示提示}this.al = DatabaseUtil.GetWord(0, totalnum - this.knownum); // 获取剩余单词this.todayleftwordnum = totalnum - this.knownum;}

四、完整的项目源码 

👇👇👇👇👇快捷获取方式👇👇👇👇👇

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com