我似乎无法在模拟器上注册或登录

时间:2017-11-25 12:35:14

标签: android

尽管一切都很好,但我无法登录我的应用或注册。 我是android的新手

这是我的signin.java

package hushtagstudios.com.towme;

import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.design.widget.TextInputLayout;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.CardView;
import android.support.v7.widget.Toolbar;
import android.util.Patterns;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;

import org.json.JSONObject;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import java.util.LinkedHashMap;
import java.util.Map;

public class Signin extends AppCompatActivity {

TextInputLayout emailTIL, passwordTIL;
EditText emailET, passwordET;
ProgressDialog progressDialog;
CardView cdSignin;
LinearLayout lSignin;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(hushtagstudios.com.towme.R.layout.activity_sigin);
    Toolbar toolbar = (Toolbar)     findViewById(hushtagstudios.com.towme.R.id.toolbar);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setDisplayShowTitleEnabled(false);


    emailTIL = (TextInputLayout) findViewById(hushtagstudios.com.towme.R.id.emailTIL);
    passwordTIL = (TextInputLayout) findViewById(hushtagstudios.com.towme.R.id.passwordTIL);
    emailET =(EditText) findViewById(hushtagstudios.com.towme.R.id.email);
    passwordET = (EditText) findViewById(hushtagstudios.com.towme.R.id.password);
    TextView signIn = (TextView) findViewById(hushtagstudios.com.towme.R.id.signin);
    cdSignin = (CardView)findViewById(R.id.cdSignin);
    lSignin = (LinearLayout)findViewById(R.id.lSignin);

    emailTIL.setTypeface(Utils.defaultFont(this));
    passwordTIL.setTypeface(Utils.defaultFont(this));
    emailET.setTypeface(Utils.defaultFont(this));
    passwordET.setTypeface(Utils.defaultFont(this));
    signIn.setTypeface(Utils.defaultFont(this));


    signIn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            if(emailET.getText().toString().isEmpty()){
                emailTIL.setError("email cannot be empty");
            } else if (passwordET.getText().toString().isEmpty()){
                passwordTIL.setError("password cannot be empty");
            } else if (!Patterns.EMAIL_ADDRESS.matcher(emailET.getText().toString()).matches()){
                emailTIL.setError("Invalid email");
            } else {
                new process().execute(emailET.getText().toString(),passwordET.getText().toString());
            }

        }
    });
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {

    if (item.getItemId() == android.R.id.home) {
        onBackPressed();
    }

    return super.onOptionsItemSelected(item);
}

@Override
public void onBackPressed() {
    Intent openSplash = new Intent(Signin.this, Splash.class);
    startActivity(openSplash);
    finish();
}

private class process extends AsyncTask<String, Void, String> {
    @Override
    public void onPreExecute() {

        progressDialog = new ProgressDialog(Signin.this);
        progressDialog.setIndeterminate(true);
        progressDialog.setCanceledOnTouchOutside(false);
        progressDialog.setMessage("Please wait...");
        progressDialog.show();

    }

    @Override
    public String doInBackground(String... para) {
        try {

            Map<String, Object> params = new LinkedHashMap<>();
            URL url = new URL(Config.url);
            params.put("app_id", Config.appId);
            params.put("app_pass", Config.appPassword);
            params.put("request", Config.login_svc_code);
            params.put("email",para[0]);
            params.put("password",para[1]);

            StringBuilder postData = new StringBuilder();
            for (Map.Entry<String, Object> param : params.entrySet()) {
                if (postData.length() != 0) postData.append('&');
                postData.append(URLEncoder.encode(param.getKey(), "UTF-8"));
                postData.append('=');
                postData.append(URLEncoder.encode(String.valueOf(param.getValue()), "UTF-8"));
            }
            String urlParameters = postData.toString();
            URLConnection conn = url.openConnection();

            conn.setDoOutput(true);

            OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());

            writer.write(urlParameters);
            writer.flush();

            String result = "";
            String line;
            BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));

            while ((line = reader.readLine()) != null) {
                result += line;
            }
            writer.close();
            reader.close();
            return result;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    @Override
    public void onPostExecute(String result) {
        super.onPostExecute(result);

        progressDialog.dismiss();

        try {

            JSONObject results = new JSONObject(result);

            if(results.getInt("status") != 1){

                Utils.dialog(Signin.this, results.getString("message"));

            }else{

                JSONObject data = new JSONObject(results.getString("data"));

                Database db = new Database(Signin.this).open();
                db.saveUserDetails(data.getString("id"),  data.getString("firstName"), data.getString("lastName"), data.getString("email"), data.getString("phone"), data.getString("usertype"),
                        data.getString("photo"), data.getString("password"));

                UserDetails.id = data.getString("id");
                UserDetails.firstName = data.getString("firstName");
                UserDetails.lastName = data.getString("lastName");
                UserDetails.email = data.getString("email");
                UserDetails.phone = data.getString("phone");
                UserDetails.usertype = data.getString("usertype");
                UserDetails.photo = data.getString("photo");
                UserDetails.password = data.getString("password");

                Utils.updateSharedPreference(Signin.this,0);
                if(data.getString("usertype").contentEquals("USER")){
                    Intent openLetUsHelp = new Intent(Signin.this, LetUsHelp.class);
                    startActivity(openLetUsHelp);
                    finish();
                } else {
                    Intent openLetUsHelp = new Intent(Signin.this, LetUsHelp.class);
                    startActivity(openLetUsHelp);
                    finish();
                }

            }

        } catch (Exception e) {
            e.printStackTrace();
            Utils.dialog(Signin.this, "An error occurred during  processing of your request. Please try again");
          }
      }
   }`

这是我的清单文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="hushtagstudios.com.towme">

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name="hushtagstudios.com.towme.Splash"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="hushtagstudios.com.towme.Registration"
            android:label="@string/title_activity_registration"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="hushtagstudios.com.towme.Signin"
            android:label="@string/title_activity_sigin"
            android:theme="@style/AppTheme.NoActionBar" />

        <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="@string/google_maps_key" />

        <activity
            android:name="hushtagstudios.com.towme.MainActivity"
            android:label="@string/title_activity_main"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="hushtagstudios.com.towme.MyAccount"
            android:label="@string/title_activity_my_account"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="hushtagstudios.com.towme.InviteAFriend"
            android:label="@string/title_activity_invite_afriend"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="hushtagstudios.com.towme.RequestPickup"
            android:label="@string/title_activity_request_pickup"
            android:theme="@style/AppTheme.NoActionBar" />

        <!-- [START firebase_service] -->
        <service android:name=".MyFirebaseMessagingService">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT" />
            </intent-filter>
        </service>
        <!-- [END firebase_service] -->
        <!-- [START firebase_iid_service] -->
        <service
            android:name=".MyFirebaseInstanceIDService"
            android:enabled="true"
            android:exported="true">
            <intent-filter>
                <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
            </intent-filter>
        </service>

        <activity
            android:name="hushtagstudios.com.towme.History"
            android:label="@string/title_activity_history"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="hushtagstudios.com.towme.Notifications"
            android:label="@string/title_activity_notifications"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="hushtagstudios.com.towme.About"
            android:label="@string/title_activity_about"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="hushtagstudios.com.towme.Help"
            android:label="@string/title_activity_help"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="hushtagstudios.com.towme.LetUsHelp"
            android:label="@string/title_activity_let_us_help"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="hushtagstudios.com.towme.DriveWithTowMe"
            android:label="@string/title_activity_drive_with_tow_me"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="hushtagstudios.com.towme.BuyInsurance"
            android:label="@string/title_activity_buy_insurance"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="hushtagstudios.com.towme.JumpStart"
            android:label="@string/title_activity_jump_start"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="hushtagstudios.com.towme.TermsAndConditions"
            android:label="@string/title_activity_conditions"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="hushtagstudios.com.towme.Accident"
            android:label="@string/title_activity_accident"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="hushtagstudios.com.towme.InDitch"
            android:label="@string/title_activity_in_ditch"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="hushtagstudios.com.towme.OutOfFuel"
            android:label="@string/title_activity_out_of_fuel"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="hushtagstudios.com.towme.MechanicalFault"
            android:label="@string/title_activity_mechanical_fault"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="hushtagstudios.com.towme.FlatTires"
            android:label="@string/title_activity_flat_tires"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="hushtagstudios.com.towme.LockedCar"
            android:label="@string/title_activity_locked_car"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="hushtagstudios.com.towme.InsuranceHistory"
            android:label="@string/title_activity_insurance_history"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="hushtagstudios.com.towme.InsuranceCalculator"
            android:label="@string/title_activity_insurance_calculator"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="hushtagstudios.com.towme.NewInsurance"
            android:label="@string/title_activity_new_insurance"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="hushtagstudios.com.towme.RenewInsurance"
            android:label="@string/title_activity_renew_insurance"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="hushtagstudios.com.towme.ProposalForm1"
            android:label="@string/title_activity_proposal_form"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="hushtagstudios.com.towme.InsurancePayment"
            android:label="@string/title_activity_insurance_payment"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="hushtagstudios.com.towme.InsuranceDelivery"
            android:label="@string/title_activity_insurance_delivery"
            android:theme="@style/AppTheme.NoActionBar" />
        <activity
            android:name="hushtagstudios.com.towme.FareEstimate"
            android:label="@string/title_activity_fare_estimate"
            android:theme="@style/AppTheme.NoActionBar"/>
        <activity android:name="hushtagstudios.com.towme.SelectMake"
            android:label="@string/title_activity_select_model"
            android:theme="@style/AppTheme.NoActionBar">

        </activity>
    </application>

    </manifest>

我的代码无法解决问题。

我的logcat给了我这个错误

11-25 14:22:18.242 1472-1485/? E/memtrack: Couldn't load memtrack module
11-25 14:22:23.206 1472-1485/? E/memtrack: Couldn't load memtrack module
11-25 14:22:24.470 2256-28070/? E/ActivityThread: Failed to find provider info for com.google.android.apps.gsa.testing.ui.audio.recorded
11-25 14:22:29.251 1472-1485/? E/memtrack: Couldn't load memtrack module
11-25 14:22:29.662 2755-2903/? E/PlayCommon: [162] com.google.android.play.a.h.a(500): Failed to connect to server: java.net.UnknownHostException: Unable to resolve host "play.googleapis.com": No address associated with hostname
11-25 14:22:48.305 2396-3835/? E/Auth: [GoogleAccountDataServiceImpl] getToken() -> NETWORK_ERROR. Account: <ELLIDED:331873819>, App: com.android.vending, Service: oauth2:https://www.googleapis.com/auth/experimentsandconfigs
11-25 14:22:48.307 2755-28116/? E/Finsky: [205] com.google.android.finsky.heterodyne.b.a(26): Failed to get auth token
  com.android.volley.AuthFailureError: Error while retrieving auth token
      at com.android.volley.a.b.a(SourceFile:15)
      at com.google.android.finsky.heterodyne.b.a(SourceFile:22)
      at com.google.android.gms.phenotype.core.c.b.a(SourceFile:101)
      at com.google.android.gms.phenotype.core.c.b.a(SourceFile:76)
      at com.google.android.finsky.heterodyne.HeterodyneSyncService.onHandleIntent(SourceFile:16)
      at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:68)
      at android.os.Handler.dispatchMessage(Handler.java:105)
      at android.os.Looper.loop(Looper.java:164)
      at android.os.HandlerThread.run(HandlerThread.java:65)
   Caused by: java.io.IOException: NetworkError
      at android.accounts.AccountManager.convertErrorToException(AccountManager.java:2496)
      at android.accounts.AccountManager.-wrap0(Unknown Source:0)
      at android.accounts.AccountManager$AmsTask$Response.onError(AccountManager.java:2347)
      at android.accounts.IAccountManagerResponse$Stub.onTransact(IAccountManagerResponse.java:69)
      at android.os.Binder.execTransact(Binder.java:674)
11-25 14:23:04.686 2256-28070/? E/ActivityThread: Failed to find provider info for com.google.android.apps.gsa.testing.ui.audio.recorded
11-25 14:23:28.378 1472-1485/? E/memtrack: Couldn't load memtrack module
11-25 14:23:28.418 1472-1485/? E/memtrack: Couldn't load memtrack module
11-25 14:23:28.460 2755-2755/? E/Finsky: [2] com.google.android.finsky.wear.bl.a(3): onConnectionFailed: ConnectionResult{statusCode=API_UNAVAILABLE, resolution=null, message=null}
11-25 14:23:29.801 2256-28070/? E/ActivityThread: Failed to find provider info for com.google.android.apps.gsa.testing.ui.audio.recorded
11-25 14:24:14.315 1472-1485/? E/memtrack: Couldn't load memtrack module
11-25 14:59:00.036 1472-1489/? E/BatteryStatsService: modem info is invalid: ModemActivityInfo{ mTimestamp=0 mSleepTimeMs=0 mIdleTimeMs=0 mTxTimeMs[]=[0, 0, 0, 0, 0] mRxTimeMs=0 mEnergyUsed=0}
11-25 14:59:00.181 1472-1485/? E/memtrack: Couldn't load memtrack module
11-25 14:59:00.238 2256-28070/? E/ActivityThread: Failed to find provider info for com.google.android.apps.gsa.testing.ui.audio.recorded
11-25 14:59:05.279 2256-28070/? E/ActivityThread: Failed to find provider info for com.google.android.apps.gsa.testing.ui.audio.recorded
11-25 14:59:10.303 2256-28070/? E/ActivityThread: Failed to find provider info for com.google.android.apps.gsa.testing.ui.audio.recorded

0 个答案:

没有答案