如何使用parse.com发送和检索数据

时间:2014-11-24 09:54:42

标签: java android parse-platform progress-bar data-retrieval

我写了那段代码,将数据发送到parse.com,然后接收它,但我甚至无法发送到现在,为什么?!!我不知道主要原因,我把AndroidManifest.xml中的互联网和网络权限放在AndroidManifest.xml中的应用程序中的解析类

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.mkadaimtwo"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="21" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<application
    android:name="com.example.mkadaimtwo.ParseCode"
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

并且还将解析类放在AndroidManifest.xml中的应用程序中,以及类和主Activity的两个代码

ParseCode类活动:

package com.example.mkadaimtwo;

import com.parse.Parse;

import android.app.Application;

public class ParseCode extends Application {
public void onCreate() {
      Parse.initialize(this, "GIuhlGILKRd8itvCF79femTyReHM6XjVkrfLKm3X",   "Fjg4tBrMgl0mY47K4kCL7hVmXhu8FmkE2on9PlXK");
    }
  }

MainActivity Code:

package com.example.mkadaimtwo;

   import android.app.AlertDialog;
   import android.app.ProgressDialog;
   import android.net.ParseException;
   import android.os.Bundle;
   import android.support.v7.app.ActionBarActivity;
   import android.view.View;
    import android.widget.EditText;

   import com.parse.GetCallback;
   import com.parse.ParseObject;
   import com.parse.ParseQuery;

   public class MainActivity extends ActionBarActivity {

EditText etCompanyName,etAddress,etNumberOfEmployees,etContactNumber;
ProgressDialog pd,pd2;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    etCompanyName = (EditText) findViewById(R.id.etCompanyName);
    etAddress = (EditText) findViewById(R.id.etAddress);
    etNumberOfEmployees = (EditText) findViewById(R.id.etNumberOfEmployees);
    etContactNumber = (EditText) findViewById(R.id.etContactNumber);

    pd = new ProgressDialog(this);
    pd.setTitle("wait");
    pd.setMessage("by7aml elmafrod");
    pd.setProgressStyle(ProgressDialog.STYLE_SPINNER);
    pd.setCancelable(true);


    pd2 = new ProgressDialog(this);
    pd2.setTitle("wait");
    pd2.setMessage("by7aml elmafrod");
    pd2.setProgressStyle(ProgressDialog.STYLE_SPINNER);
    pd2.setCancelable(true);

    //here we will Load the old company data from Parse.com

    ParseQuery<ParseObject> query = ParseQuery.getQuery("TestBosyApp");
    query.getInBackground("ijy1qi78g8", new GetCallback<ParseObject>() {
        public void done(ParseObject testBosyApp, ParseException e) {
            if (e == null) {

                String companyName = testBosyApp.getString("company_name");
                String address = testBosyApp.getString("address");
                String numberOfEmployees = testBosyApp.getString("number_of_employees");
                String contactNumber = testBosyApp.getString("contact_number");

                etCompanyName.setText(companyName);
                etAddress.setText(address);
                etNumberOfEmployees.setText(numberOfEmployees);
                etContactNumber.setText(contactNumber);

                pd.dismiss();


            } else {
                AlertDialog.Builder mDialoge = new AlertDialog.Builder(MainActivity.this); 
                mDialoge.setTitle("Erorr");
                mDialoge.setMessage("Check el net plz :)");
                mDialoge.setPositiveButton("ok", null);
                mDialoge.show();
            }
        }

        @Override
        public void done(ParseObject arg0, com.parse.ParseException arg1) {
            // TODO Auto-generated method stub

        }

    });

}

  public void update (View V){
    pd2.show();
    //update data in Parse

    ParseQuery<ParseObject> myQuery = ParseQuery.getQuery("TestBosyApp");

    // Retrieve the object by id
    myQuery.getInBackground("U6Gwn2tiD8", new GetCallback<ParseObject>() {
        public void done(ParseObject testBosyApp, ParseException e) {
            if (e == null) {
                //Initials our variables
                String companyName = etCompanyName.getText().toString().trim();
                String address = etAddress.getText().toString().trim();
                String numberOfEmployees = etNumberOfEmployees.getText().toString().trim();
                String contactNumber = etContactNumber.getText().toString().trim();

                //update it with new data

                testBosyApp.put("company_name", companyName);
                testBosyApp.put("address", address);
                testBosyApp.put("number_of_employees", numberOfEmployees);
                testBosyApp.put("contact_number", contactNumber);
                testBosyApp.saveInBackground();

                pd2.dismiss();

                AlertDialog.Builder mDialoge = new AlertDialog.Builder(MainActivity.this); 
                mDialoge.setTitle("2shta");
                mDialoge.setMessage("Keda eldata ra7t t2riban");
                mDialoge.setPositiveButton("cool", null);
                mDialoge.show();
            }else{
                pd2.dismiss();
                AlertDialog.Builder mDialoge = new   AlertDialog.Builder(MainActivity.this); 
                mDialoge.setTitle("Erorr");
                mDialoge.setMessage("Check el net plz :)");
                mDialoge.setPositiveButton("ok", null);
                mDialoge.show();
            }
        }

        @Override
        public void done(ParseObject arg0, com.parse.ParseException arg1) {
            // TODO Auto-generated method stub

            }
    });

}

 }

那么问题是什么,进度条正在加载而没有结束,如果我提供进度条取消功能,那么将数据放入字段中就没有任何反应。 加上如果有人有parse.com使用android的教程请提供给我。

1 个答案:

答案 0 :(得分:0)

老兄......先生? goto parse.com,有教程..你需要启用一些东西我就是不记得转到设置 - &gt;应用权限 - &gt;允许创建客户端类。将其设置为ON&gt;在你从设备发送推送并接收它之前..你的清单也不完整..从我所知道的......

<application
android:name="com.example.mkadaimtwo.ParseCode"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
    android:name=".MainActivity"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

//edit started here
<service android:name="com.parse.PushService" />

    <receiver android:name="com.parse.ParseBroadcastReceiver" >
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <action android:name="android.intent.action.USER_PRESENT" />
        </intent-filter>
    </receiver>
</application>

所以复制并粘贴此清单