溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Android之網(wǎng)絡(luò)數(shù)據(jù)存儲

發(fā)布時間:2020-06-25 19:22:17 來源:網(wǎng)絡(luò) 閱讀:278 作者:xmgdc 欄目:移動開發(fā)

 一、網(wǎng)絡(luò)保存數(shù)據(jù)介紹

可以使用網(wǎng)絡(luò)來保存數(shù)據(jù),在需要的時候從網(wǎng)絡(luò)上獲取數(shù)據(jù),進(jìn)而顯示在App中。

用網(wǎng)絡(luò)保存數(shù)據(jù)的方法有很多種,對于不同的網(wǎng)絡(luò)數(shù)據(jù)采用不同的上傳與獲取方法。

本文利用LeanCloud來進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)的存儲。

LeanCloud是一種簡單高效的數(shù)據(jù)和文件存儲服務(wù)。感興趣的可以查看網(wǎng)址:https://leancloud.cn/。關(guān)于LeanCloud的數(shù)據(jù)存儲使用方法可以在里面找到,本文不講述關(guān)于LeanCloud的使用,知識借助LeanCloud平臺舉一個在網(wǎng)絡(luò)上存儲數(shù)據(jù)的例子。

二、使用方法

1.上傳數(shù)據(jù)

Android之網(wǎng)絡(luò)數(shù)據(jù)存儲

        AVObject personObject = new AVObject(TABLENAME);
        personObject.put(NAME, person.name);
        personObject.put(AGE, person.age);
        personObject.put(INFO, person.info);
        personObject.saveInBackground(new SaveCallback() {
            @Override            public void done(AVException e) {                if (e == null) {
                    Log.v(TAG, "put data success!");
                } else {
                    Log.v(TAG, "put data failed!error:" + e.getMessage());
                }
            }
        });

Android之網(wǎng)絡(luò)數(shù)據(jù)存儲

2. 讀取數(shù)據(jù)

Android之網(wǎng)絡(luò)數(shù)據(jù)存儲

        AVQuery<AVObject> avQuery = new AVQuery<>(TABLENAME);
        avQuery.findInBackground(new FindCallback<AVObject>() {
            @Override            public void done(List<AVObject> list, AVException e) {                if (e == null) {
                    Log.v(TAG, "get data success!");
                    String message = "";                    for (int i = 0; i < list.size(); i++) {
                        String name = list.get(i).getString(NAME);                        int age = list.get(i).getInt(AGE);
                        String info = list.get(i).getString(INFO);

                        message += "name:" + name + ",age:" + age + ",info:" + info + ".\n";
                    }
                    textView.setText(message);
                }
            }
        });

Android之網(wǎng)絡(luò)數(shù)據(jù)存儲

三、小案例

1.添加strings.xml文件
    <string name="network">Network</string>
    <string name="get_data">獲取數(shù)據(jù)</string>
    <string name="put_data">上傳數(shù)據(jù)</string>
2.修改activity_main.xml文件

Android之網(wǎng)絡(luò)數(shù)據(jù)存儲

<?xml version="1.0" encoding="utf-8"?><android.support.design.widget.CoordinatorLayout 
   xmlns:android
="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:fitsSystemWindows="true"    tools:context="com.zhangmiao.datastoragedemo.MainActivity"> <LinearLayout        android:layout_width="match_parent"        android:layout_height="match_parent"        android:orientation="vertical"> <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_gravity="center_horizontal"            android:text="@string/network" /> <LinearLayout            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_marginBottom="@dimen/fab_margin"            android:layout_marginTop="@dimen/fab_margin"            android:orientation="horizontal"> <Button                android:id="@+id/network_put"                android:layout_width="0dp"                android:layout_height="wrap_content"                android:layout_weight="1"                android:text="@string/put_data" /> <Button                android:id="@+id/network_get"                android:layout_width="0dp"                android:layout_height="wrap_content"                android:layout_weight="1"                android:text="@string/get_data" /> </LinearLayout> <TextView            android:id="@+id/table_info"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:text="@string/app_name" /> </LinearLayout></android.support.design.widget.CoordinatorLayout>

Android之網(wǎng)絡(luò)數(shù)據(jù)存儲

3.添加NetworkDBManager類

Android之網(wǎng)絡(luò)數(shù)據(jù)存儲

package com.zhangmiao.datastoragedemo;import android.util.Log;import android.widget.TextView;import com.avos.avoscloud.AVException;import com.avos.avoscloud.AVObject;import com.avos.avoscloud.AVQuery;import com.avos.avoscloud.FindCallback;import com.avos.avoscloud.SaveCallback;import java.util.List;/**
 * Created by zhangmiao on 2016/12/22. */public class NetworkDBManager {    private static final String TAG = "NetworkDBManager";    private final static String TABLENAME = "person";    private final static String NAME = "name";    private final static String AGE = "age";    private final static String INFO = "info";    public void putData(Person person) {
        AVObject personObject = new AVObject(TABLENAME);
        personObject.put(NAME, person.name);
        personObject.put(AGE, person.age);
        personObject.put(INFO, person.info);
        personObject.saveInBackground(new SaveCallback() {
            @Override            public void done(AVException e) {                if (e == null) {
                    Log.v(TAG, "put data success!");
                } else {
                    Log.v(TAG, "put data failed!error:" + e.getMessage());
                }
            }
        });
    }    public void getData(final TextView textView) {
        AVQuery<AVObject> avQuery = new AVQuery<>(TABLENAME);
        avQuery.findInBackground(new FindCallback<AVObject>() {
            @Override            public void done(List<AVObject> list, AVException e) {                if (e == null) {
                    Log.v(TAG, "get data success!");
                    String message = "";                    for (int i = 0; i < list.size(); i++) {
                        String name = list.get(i).getString(NAME);                        int age = list.get(i).getInt(AGE);
                        String info = list.get(i).getString(INFO);

                        message += "name:" + name + ",age:" + age + ",info:" + info + ".\n";
                    }
                    textView.setText(message);
                }
            }
        });
    }
}

Android之網(wǎng)絡(luò)數(shù)據(jù)存儲

4.修改AndroidManifest.xml文件 
  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
5.修改MainActivity

Android之網(wǎng)絡(luò)數(shù)據(jù)存儲

 android.net.*  MainActivity  AppCompatActivity  "MainActivity", "onCreate", "yMNUazdBt872mNtC9aSakjYy-gzGzoHsz", "d4vw3VYdMCjLpsXRhHTBRutC"= === =  Person("xiao", 23, "women"=  Person("zhao", 24, "men""MainActivity", "default"

Android之網(wǎng)絡(luò)數(shù)據(jù)存儲


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI