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

云南建设厅网站工程师阿里云wordpress外网访问

云南建设厅网站工程师,阿里云wordpress外网访问,软件下载网站排行榜,聊天软件开发厂家有哪些Android开发基础#xff08;四#xff09; 本篇将从Android数据存储方式去理解Android开发。 Android数据存储方式 Android提供了多种数据存储方式。 一、SharedPreferences存储 主要用于存储一些简单的配置信息#xff0c;如登录账号密码等#xff1b; 这种存储方式采…Android开发基础四 本篇将从Android数据存储方式去理解Android开发。 Android数据存储方式 Android提供了多种数据存储方式。 一、SharedPreferences存储 主要用于存储一些简单的配置信息如登录账号密码等 这种存储方式采用Map数据结构以key-value的方式存储数据可以更方便地进行读写操作 数据存储在设备中采用XML格式 以下代码是Java编写Kotlin实际上是相同的。 // 获取SharedPreferences对象 SharedPreferences sharedPreferences getSharedPreferences(my_data, MODE_PRIVATE); // 写入数据 SharedPreferences.Editor editor sharedPreferences.edit(); editor.putString(key1, value1); editor.putInt(key2, 123); editor.apply(); // 读取数据 String value1 sharedPreferences.getString(key1, null); int value2 sharedPreferences.getInt(key2, 0);二、文件存储 这是一种比较常见的方式可以用来存储图片、视频、文本等数据 在读取和写入文件时与Java中的I/O程序完全一样提供了openFileInput()和openFileOutput()方法来读取设备上的文件 以下代码是Java编写的Kotlin要注意空值判断可以参考Android开发基础二。 // 创建文件对象 File file new File(context.getFilesDir(), my_file.txt); // 写入数据 try { FileOutputStream outputStream new FileOutputStream(file); outputStream.write(Hello World.getBytes()); outputStream.close(); } catch (IOException e) { e.printStackTrace(); } // 读取数据 try { FileInputStream inputStream new FileInputStream(file); InputStreamReader inputStreamReader new InputStreamReader(inputStream); BufferedReader bufferedReader new BufferedReader(inputStreamReader); String line; while ((line bufferedReader.readLine()) ! null) { Log.d(File Content, line); } inputStream.close(); } catch (IOException e) { e.printStackTrace(); }三、SQLite数据库存储 SQLite是一种轻量级的数据库适用于移动设备 Android系统提供了SQLite数据库引擎开发者可以使用它来创建和管理数据库 使用SQLite数据库可以方便地存储、检索和管理数据。 // 创建SQLite数据库 val db openOrCreateDatabase(my_database.db, Context.MODE_PRIVATE) // 创建表 db.execSQL(CREATE TABLE IF NOT EXISTS my_table (id INTEGER PRIMARY KEY, name TEXT)) // 插入数据 val insertStatement INSERT INTO my_table (name) VALUES (?) db.beginTransaction() try { val statement db.compileStatement(insertStatement) for (name in names) { statement.bindString(1, name) statement.executeInsert() } db.setTransactionSuccessful() } catch (e: Exception) { e.printStackTrace() } finally { db.endTransaction() } // 查询数据 val cursor db.query(my_table, null, null, null, null, null, name ASC) while (cursor.moveToNext()) { val id cursor.getInt(cursor.getColumnIndex(id)) val name cursor.getString(cursor.getColumnIndex(name)) Log.d(Data, ID: $id, Name: $name) } cursor.close() // 删除数据 db.delete(my_table, name ?, arrayOf(John))四、ContentProvider存储 当一个应用实例继承ContentProvider类并重写该类用于提供数据和存储数据的方法时就可以向其他应用共享其数据 通过ContentProvider应用程序可以访问其他应用程序的数据或提供自己的数据供其他应用程序使用。 // 创建ContentProvider public class MyContentProvider extends ContentProvider { private static final String AUTHORITY com.example.myapp.provider; private static final String PATH my_table; private static final int BASE_URI 0; private static final UriMatcher uriMatcher; static { uriMatcher new UriMatcher(UriMatcher.NO_MATCH); uriMatcher.addURI(AUTHORITY, PATH, BASE_URI); } Override public boolean onCreate() { return true; } Override public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { SQLiteQueryBuilder queryBuilder new SQLiteQueryBuilder(); queryBuilder.setTables(my_table); queryBuilder.setProjectionMap(null); // 设置投影映射 queryBuilder.setSortOrder(sortOrder); // 设置排序方式 Cursor cursor queryBuilder.query(dbHelper.getReadableDatabase(), projection, selection, selectionArgs, null, null, sortOrder); return cursor; } Override public String getType(Uri uri) { return null; } Override public Uri insert(Uri uri, ContentValues values) { long rowId dbHelper.getWritableDatabase().insert(my_table, null, values); Uri newUri Uri.withAppendedPath(uri, rowId ); return newUri; } Override public int delete(Uri uri, String selection, String[] selectionArgs) { int count dbHelper.getWritableDatabase().delete(my_table, selection, selectionArgs); return count; } Override public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) { int count dbHelper.getWritableDatabase().update(my_table, values, selection, selectionArgs); return count; } }五、网络存储 通过网络接口进行数据的存储和上传等操作适用于比较重要的事情如科研、勘探、航空等实时采集到的数据需要马上通过网络传输到数据处理中心进行存储和处理。 import okhttp3.MediaType; import okhttp3.OkHttpClient; import okhttp3.RequestBody; import okhttp3.Request; import okhttp3.Response; public class NetworkStorageExample { public static void main(String[] args) { OkHttpClient client new OkHttpClient(); MediaType mediaType MediaType.parse(application/json); RequestBody requestBody RequestBody.create(mediaType, {\key\:\value\}); // 你的JSON数据 Request request new Request.Builder() .url(http://example.com/api) // 你的API URL .post(requestBody) .build(); try { Response response client.newCall(request).execute(); if (response.isSuccessful()) { // 请求成功处理响应 } else { // 请求失败处理错误情况 } } catch (IOException e) { e.printStackTrace(); } } }
http://www.pierceye.com/news/239054/

相关文章:

  • 遵义住房城乡建设厅网站电子商务网店毕业设计
  • 惠州市博罗县建设局网站防静电产品东莞网站建设技术支持
  • 茂名整站优化百度一下 你知道首页
  • 郑州网站微信微博维护品牌网站建设流程图
  • 网站建站销售怎么做做门窗安装去哪些网站找生意
  • 太原建站司点击查看荆州网站开发
  • 个人音乐网站开发宁波网站推广工作室电话
  • 建设部网站 造价工程师wordpress忘了秘密
  • 如何分析一个网站建设策划案湖南网络推广公司大全
  • 惠州市建设工程交易中心网站如何制作网页导航栏
  • 保山网站建设哪家好做led视频好的网站
  • 如何利用网站策划做好网站建设申请域名要多少钱
  • 专业做公司logo的网站谷歌网站推广方案
  • 公司网站建设情况说明网站开发用php好吗
  • 网站做关键词库的作用空间怎么做网站
  • 制作网站公司名称网络营销与策划实践报告
  • 哈尔滨手机网站建设价格低长沙网业公司
  • 如皋网站建设公司网站推广优化排名
  • 行业网站方案网站搭建合同
  • 如何用ps做网站图标吉林省长春市建设局网站
  • 北京高端网站建设服务广州百度快速排名优化
  • 电子商务网站开发课程设计网站建设石家庄
  • 好的公司网站有什么用烟台建设集团招聘信息网站
  • 网站制作需要多长时间网站代建设费用
  • 淘宝客网站设计台州建设银行官方网站
  • 婚纱网站建设规划书2023全国企业公司大黄页
  • 网站seo的关键词排名怎么做的wordpress 在线留言
  • 建一个c2c网站要多少钱小程序云开发文档
  • asp网站合法上虞网站设计
  • 网站 用什么数据库蛋糕店网站建设方案