린클라우드 데이터 스토리지

11029 단어
린클라우드 공식 홈페이지에 로그인 후 어플리케이션을 생성하여 아이디와 키를 획득합니다. android sdk의 여러 jar 패키지를 다운로드하십시오.
Android 프로젝트의 libs 디렉토리로 가져옵니다. Application을 확장하는 클래스를 만듭니다. oncreate 메소드를 다시 작성하고 ID와 키를 정의하고 AVOSCloud의 initialize 메소드를 호출하여 this, id, key를 전달합니다. AVOSCloud의 useAVCloudCN 메소드를 추가할 수 있습니다.
Application 클래스는 4개의 구성 요소와 동일해야 함을 기억하십시오! ! 등록이 필요합니다.

LeanCloud를 사용하려면 두 가지 권한이 필요합니다.

android:name="android.permission.ACCESS_NETWORK_STATE" />
android:name="android.permission.INTERNET" />



LeanCloud 데이터 저장:

AVObject avObject = new AVObject("test");
avObject.put("key1",key1);
avObject.put("key2",key2);
avObject.saveInBackground(new SaveCallback() {
    @Override
    public void done(AVException e) {
        if (e == null) {
            Toast.makeText(AddActivity.this, "数据保存成功!", Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(AddActivity.this, "数据保存失败!e:"+e, Toast.LENGTH_SHORT).show();
        }
    }
});
새 AVObject를 만들고 테이블 이름을 전달합니다. put 메소드를 사용하여 저장할 키-값 쌍을 전달하십시오.

마지막으로 saveInBackground 메서드를 호출하여 저장하고 콜백을 전달합니다. 예외 e가 비어 있으면 데이터가 성공적으로 저장되었음을 의미합니다.


LeanCloud 데이터 쿼리:

AVQuery avQuery = new AVQuery<>("test");
avQuery.findInBackground(new FindCallback() {
    @Override
    public void done(List list, AVException e) {
        ArrayList  querylist = new ArrayList();
        for (AVObject obj : list){
            QueryItemBean item = new QueryItemBean();
            item.setValue1(obj.getString("key1"));
            item.setValue2(obj.getString("key2"));

            querylist.add(item);
        }
        lv.setAdapter(new QueryListAdapter(getApplicationContext(),R.layout.query_list,querylist));
새 AVQuery가 쿼리할 테이블 이름을 전달합니다. findInBackground 메서드를 호출하여 찾기 콜백을 전달합니다.

여기서 조회된 데이터는 ListView에 표시되는데 ListView는 데이터 소스와 어댑터가 필요하기 때문에 value1과 value2의 get 및 set 메소드를 사용하여 Bean 객체를 생성한다.
ArrayList를 만들고 각 고급 for 루프의 데이터를 추가하고 마지막으로 ListView에 할당하여 데이터를 표시합니다.
ps: ListView용 어댑터를 생성할 때 컨텍스트, 레이아웃 파일 ID 및 목록 데이터 소스를 전달할 ArrayList 생성자를 상속합니다.



AVObject 다음 데이터 유형이 지원됩니다.


+



        boolean bool = true;
        int number = 2015;
        String string = number + " 年度音乐排行";
        Date date = new Date();

        byte[] data = "短篇小说".getBytes();
        ArrayList<Object> arrayList = new ArrayList<>();
        arrayList.add(number);
        arrayList.add(string);
        HashMap<Object, Object> hashMap = new HashMap<>();
        hashMap.put("数字", number);
        hashMap.put("字符串", string);

        AVObject object = new AVObject("DataTypes");
        object.put("testBoolean", bool);
        object.put("testInteger", number);
        object.put("testDate", date);
        object.put("testData", data);
        object.put("testArrayList", arrayList);
        object.put("testHashMap", hashMap);
        object.saveInBackground();





+


또한 HashMap 및 ArrayList는 중첩을 지원하므로 보다 구조화된 데이터를 하나로 저장할 수 있습니다AVObject.


+



AVObject에서 byte[]를 사용하여 이미지나 전체 파일과 같은 이진 데이터의 큰 블록을 저장하지 않는 것이 좋습니다. 각AVObject의 크기는 128KB를 초과할 수 없습니다. 더 많은 데이터를 저장해야 하는 경우AVFile를 사용하는 것이 좋습니다.


+


린클라우드 문서: https://leancloud.cn/docs/leanstorage_guide-android.html

좋은 웹페이지 즐겨찾기