当前位置: 首页 > news >正文

新网站如何被快速收录网络培训学院

新网站如何被快速收录,网络培训学院,做网站怎么才会被百度收录,模板网站的弊端前面一节中已经为Starbuzz创建了一个SQLite帮助器。 目前还是从Java Drink类获取数据#xff0c;这时候要修改这个应用从SQLite数据库获取数据。 本文所有代码均存放于 https://github.com/MADMAX110/Starbuzz 一、修改DrinkActivity来使用Starbuzz数据库 基本步骤#xff…前面一节中已经为Starbuzz创建了一个SQLite帮助器。 目前还是从Java Drink类获取数据这时候要修改这个应用从SQLite数据库获取数据。 本文所有代码均存放于 https://github.com/MADMAX110/Starbuzz 一、修改DrinkActivity来使用Starbuzz数据库 基本步骤 1、得到Starbuzz数据库的一个引用 2、创建一个游标从数据库读取数据 3、导航到饮料记录 4、在DrinkActiviy中显示饮料的详细信息 1、得到数据库引用 首先需要用上一章创建的SQLite帮助器得到Starbuzz数据库的一个引用。为此我们先要得到SQLite帮助器的一个引用。 SQLiteOpenHelper starbuzzDatabaseHelper new StarbuzzDatabaseHelper(this);然后调用SQLite帮助器的getReadableDatabase() 或getWriteableDatabase() 得到数据库一个引用。前者只读后者可以进行更新。这两者都会返回一个SQLiteDatabase对象可以用来访问数据库。 SQLiteDatabase db starbuzzDatabaseHelper.getReadableDatabase();SQLiteDatabase db starbuzzDatabaseHelper.getWritableDatabase();如果Android没能得到数据库的一个引用会抛出一个SQLiteExeception异常。例如如果调用getWriteableDatabase来读写数据库但是由于磁盘已满而无法写入数据库就会发生这种情况。 如果得到异常就可以使用一个Toast一个弹出式消息告诉用户这个消息不可用。 得到数据库的一个引用后就可以使用游标从数据库中获取数据了。 2、用游标从数据库获取数据 创建游标 Cursor cursor db.query(...);最简单的数据库查询是从一个数据库的一个表中返回所有记录 第一个参数是表名第二个参数表示想要返回这些列中的值如果想要返回一个表中的所有记录将这些参数设置为null。 Cursor cursor db.query(DRINK, new String[]{_id, NAME, DESCRIPTION}, null, null, null, null, null);默认情况下表中数据按_id的顺序显示这是因为输入数据时的顺序。如果希望按NAME的升序顺序可以使用以下代码。 Cursor cursor db.query(DRINK, new String[]{_id, NAME, DESCRIPTION}, null, null, null, null, null, NAME ASC);ASC关键字表示你希望按升序对这一列排序。默认的都会按升序队列排序所以也可以省略ASC倘若要以降序排序则要使用DESC。 还可以对多个列进行排序例如对FAVORITE降序排列然后对NAME按升序排列。 Cursor cursor db.query(DRINK, new String[]{_id, NAME, DESCRIPTION}, null, null, null, null, null, FAVORITE DESC, NAME);为数据设置过滤条件返回特定的记录例如返回DRINK列表中饮料名为Lattle的记录 Cursor cursor db.query(DRINK, new String[]{_id, NAME, DESCRIPTION}, NAME ?, new String[] {Lattle}, null, null, null);或是DRINK列表中_id为1的记录 Cursor cursor db.query(DRINK, new String[]{_id, NAME, DESCRIPTION}, _id ?, new String[] {Integer.toString(1)}, null, null, null);3、导航到游标记录 要从一个游标获取某个特定记录的值首先要导航到这个记录。 游标主要有4个方法这些方法分别是moveToFirst、moveToLast、moveToPrevious、moveToNext。 要返回游标的第一个记录可以使用moveToFirst方法如果发现一个记录这个方法就会返回一个true值。如果游标未返回任何记录就会返回false。 if (cursor.moveToFirst()){ }同理、moveToLast是返回游标最后一个记录moveToPrevious是前一个记录moveToNext是后一个记录。 4、获取游标值 从第0列获取字符串从第2列获取数值。 String name cursor.getString(0); int imageRes cursor.getInt(2);最后关闭游标和数据库。 cursor.close(); db.close();完整的DrinkActivity代码 package com.hfad.starbuzz;import androidx.appcompat.app.AppCompatActivity;import android.database.Cursor; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.os.Bundle; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast;public class DrinkActivity extends AppCompatActivity {public static final String EXTRA_DRINKID drinkId;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_drink);int drinkId (Integer)getIntent().getExtras().get(EXTRA_DRINKID);SQLiteOpenHelper starbuzzDatabaseHelper new StarbuzzDatabaseHelper(this);try {SQLiteDatabase db starbuzzDatabaseHelper.getReadableDatabase();Cursor cursor db.query(DRINK,new String[]{NAME, DESCRIPTION, IMAGE_RESOURCE_ID},_id ?,new String[] {Integer.toString(drinkId)},null, null, null);if (cursor.moveToFirst()) {String nameText cursor.getString(0);String descriptionText cursor.getString(1);int photoId cursor.getInt(2);TextView name (TextView) findViewById(R.id.name);name.setText(nameText);TextView description (TextView) findViewById(R.id.description);description.setText(descriptionText);ImageView photo (ImageView) findViewById(R.id.photo);photo.setImageResource(photoId);photo.setContentDescription(nameText);}cursor.close();db.close();}catch (SQLException e){Toast toast Toast.makeText(this,Database unavailable,Toast.LENGTH_SHORT);toast.show();}} }二、修改DrinkCategoryActivity来使用Starbuzz数据库 这里的步骤与之前的有所不同因为这里要显示一个列表视图它使用饮料数据作为它的数据源。我们要把这个数据的数据源转换为Starbuzz数据库 1、创建一个游标从数据库读取饮料数据。 2、将列表视图的数组适配器替换为一个游标适配器。 第一步与之前的一样这里需要做的是替换列表视图中的数组数据。 简单游标适配器 原理 1、列表视图向适配器请求数据 2、适配器向游标请求数据库中的数据 3、适配器向列表视图返回数据 使用简单游标适配器的做法与使用数组适配器很类似要初始化适配器然后把它关联到列表视图。 SimpleCursorAdapter listAdapter new SimpleCursorAdapter(this , //当前活动android.R.layout.simple_list_item_1,//在列表视图中对应每一行显示一个值cursor,//这是游标new String[]{NAME},//使用游标的哪些列new int[]{android.R.id.text1},//希望在那些视图中显示这些数据0);//用来确定游标的行为通常为0这是默认值也可以注册一个内容观察器listDrinks.setAdapter(listAdapter);修改后的DrinkCategoryActivity代码 package com.hfad.starbuzz;import androidx.appcompat.app.AppCompatActivity;import android.content.Intent; import android.database.Cursor; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.SimpleCursorAdapter; import android.widget.Toast;public class DrinkCategoryActivity extends AppCompatActivity {private SQLiteDatabase db;private Cursor cursor;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_drink_category);ListView listDrinks (ListView) findViewById(R.id.list_drinks);SQLiteOpenHelper starbuzzDatabaseHelper new StarbuzzDatabaseHelper(this);try {db starbuzzDatabaseHelper.getReadableDatabase();cursor db.query(DRINK,new String[]{_id, NAME},null, null, null, null, null);SimpleCursorAdapter listAdapter new SimpleCursorAdapter(this , //当前活动android.R.layout.simple_list_item_1,//在列表视图中对应每一行显示一个值cursor,//这是游标new String[]{NAME},//使用游标的哪些列new int[]{android.R.id.text1},//希望在那些视图中显示这些数据0);//用来确定游标的行为通常为0这是默认值也可以注册一个内容观察器listDrinks.setAdapter(listAdapter);}catch(SQLException e){Toast toast Toast.makeText(this, Database unavailable, Toast.LENGTH_SHORT);toast.show();}AdapterView.OnItemClickListener itemClickListener new AdapterView.OnItemClickListener() {Overridepublic void onItemClick(AdapterView? parent, View view, int position, long id) {if (position 0) {Intent intent new Intent(DrinkCategoryActivity.this, DrinkCategoryActivity.class);startActivity(intent);}Intent intent new Intent(DrinkCategoryActivity.this, DrinkActivity.class);//向意图增加所单击列表项的ID第一个参数表示使用这个常量名表示意图中的额外信息名//这样就能知道DrinkCategoryActivity和DrinkActivity在使用同一个字符串//创建DrinkActivity活动时要增加这个常量。intent.putExtra(DrinkActivity.EXTRA_DRINKID, (int)id);startActivity(intent);}};listDrinks.setOnItemClickListener(itemClickListener);}Overrideprotected void onDestroy() {super.onDestroy();cursor.close();db.close();} }
http://www.pierceye.com/news/136240/

相关文章:

  • 上海安全建设协会网站推广普通话的方法
  • 自己怎么做外贸英文网站网站建设外包
  • 南京专业网站开发团队wordpress如何构建页面
  • 济南网站优化排名推广python基础教程雪峰
  • 垂直购物网站建设代做网站推广的公司
  • 马云做一网站 只作一次网页界面设计使用色彩的作用是什么
  • 网站上传权限广西网站建设银行
  • 南通网站建设规划书wordpress 上传图片 500
  • 推广自身网站升级的网站显示什么
  • 网站与系统对接图文方案免费可信网站认证
  • 深圳设计网站速成班网站音频播放器代码
  • 域名注册最后是网站wordpress手机上传图片插件
  • 有哪些网站交互效果做的好的如何让google收录网站
  • wordpress到服务器配置云南seo
  • 常见网站安全漏洞行业网站如何推广
  • 网站开发实战项目苏州行业网站建设费用
  • 大团企业网站制作东莞网站制作的公司
  • 石家庄做网站公司的电话网站建设费用大概多少
  • 襄阳市网站建设怎么注册工作邮箱
  • 在百度里面做个网站怎么做的摄影大赛官网
  • 网站建设需要哪些的ps网站策划
  • 网站维护的意义上海知名进出口贸易公司
  • 青岛中小微企业互联网站建设补贴微信小程序怎么发布上线
  • 贺州做网站哪家公司温州移动网站建设服务商
  • 网站变灰兼容代码北京计算机培训学校
  • 网站导航包括海拉尔网站建设+网站设计
  • flashfxp 上传网站佛山哪里有网站开发
  • qq互联 网站开发济南建设集团有限公司官网
  • 网站开发兼职网站学校网站构建
  • 简约网站后台媒体网站开发