2016-07-11 10 views
-3

Ich versuche, mit diesem Code nach Eingabe Anmeldeinformationen anmelden ist gibt einen Fehler in MainActivity.java bei
„setContentView (R.layout.main_activity)“
so ganz Anwendung abgestürzt sein.
bitte geben Sie mir eine Lösung, dies zu tun.Wie kann ich Login-Formular in Android Studio schreibe

Login.java

package com.example.user.mangoair11; 

import android.app.Activity; 
import android.app.Dialog; 
import android.app.ProgressDialog; 
import android.content.Intent; 
import android.os.AsyncTask; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.widget.EditText; 
import android.widget.Toast; 

import org.apache.http.HttpEntity; 
import org.apache.http.HttpResponse; 
import org.apache.http.NameValuePair; 
import org.apache.http.client.ClientProtocolException; 
import org.apache.http.client.HttpClient; 
import org.apache.http.client.entity.UrlEncodedFormEntity; 
import org.apache.http.client.methods.HttpPost; 
import org.apache.http.impl.client.DefaultHttpClient; 
import org.apache.http.message.BasicNameValuePair; 

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStream; 
import java.io.InputStreamReader; 
import java.io.UnsupportedEncodingException; 
import java.util.ArrayList; 
import java.util.List; 

/** 
* Created by User on 6/29/2016. 
*/ 
public class Login extends Activity { 

    private EditText editTextEmail; 
    private EditText editTextPassword; 

    public static final String EMAIL_NAME = "EMAIL"; 

    String email; 
    String password; 

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

     editTextEmail = (EditText) findViewById(R.id.editTextEmail); 
     editTextPassword = (EditText) findViewById(R.id.editTextPassword); 
    } 

    public void invokeLogin(View view){ 
     email = editTextEmail.getText().toString(); 
     password = editTextPassword.getText().toString(); 

     login(email,password); 

    } 

    private void login(final String username, String password) { 

     class LoginAsync extends AsyncTask<String, Void, String> { 

      private Dialog loadingDialog; 

      @Override 
      protected void onPreExecute() { 
       super.onPreExecute(); 
       loadingDialog = ProgressDialog.show(Login.this, "Please wait", "Loading..."); 
      } 

      @Override 
      protected String doInBackground(String... params) { 
       String email = params[0]; 
       String pass = params[1]; 

       InputStream is = null; 
       List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); 
       nameValuePairs.add(new BasicNameValuePair("email", email)); 
       nameValuePairs.add(new BasicNameValuePair("password", pass)); 
       String result = null; 

       try{ 
        HttpClient httpClient = new DefaultHttpClient(); 
        HttpPost httpPost = new HttpPost(
          "http://hostogen.com/mangoair10/login.php"); 
        httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

        HttpResponse response = httpClient.execute(httpPost); 

        HttpEntity entity = response.getEntity(); 

        is = entity.getContent(); 

        BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"), 8); 
        StringBuilder sb = new StringBuilder(); 

        String line = null; 
        while ((line = reader.readLine()) != null) 
        { 
         sb.append(line + "\n"); 
        } 
        result = sb.toString(); 
       } catch (ClientProtocolException e) { 
        e.printStackTrace(); 
       } catch (UnsupportedEncodingException e) { 
        e.printStackTrace(); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
       return result; 
      } 

      @Override 
      protected void onPostExecute(String result) { 
       String s = result.trim(); 
       loadingDialog.dismiss(); 
       if (s.equalsIgnoreCase("success")) { 
        Intent intent = new Intent(Login.this, UserProfile.class); 
        intent.putExtra(EMAIL_NAME, email); 
        finish(); 
        startActivity(intent); 
       } else { 
        Toast.makeText(getApplicationContext(), "Invalid User Name or Password", Toast.LENGTH_LONG).show(); 
       } 

      } 
     } 

     LoginAsync la = new LoginAsync(); 
     la.execute(username, password); 

    } 


    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.menu_main, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle action bar item clicks here. The action bar will 
     // automatically handle clicks on the Home/Up button, so long 
     // as you specify a parent activity in AndroidManifest.xml. 
     int id = item.getItemId(); 

     //noinspection SimplifiableIfStatement 
     if (id == R.id.action_settings) { 
      return true; 
     } 

     return super.onOptionsItemSelected(item); 
    } 
} 

MainActivity.java 
package com.example.user.mangoair11; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.support.design.widget.FloatingActionButton; 
import android.support.design.widget.Snackbar; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.view.View; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.widget.Button; 
import android.widget.TextView; 

public class MainActivity extends AppCompatActivity { 

    Button register,login; 
    TextView privacy, contact, about; 

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

     register=(Button)findViewById(R.id.button_register); 
     login=(Button)findViewById(R.id.button_login); 
     privacy=(TextView)findViewById(R.id.textView2_privacy); 
     contact=(TextView)findViewById(R.id.textView3_contact); 
     about=(TextView)findViewById(R.id.textView_about); 

     register.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 

       Intent i = new Intent(MainActivity.this, Register.class); 
       startActivity(i); 
      } 
     }); 

     login.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 

       Intent i=new Intent(MainActivity.this,Login.class); 
       startActivity(i); 
      } 
     }); 

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

       Intent i=new Intent(MainActivity.this,Privacy.class); 
       startActivity(i); 
      } 
     }); 

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

       Intent i=new Intent(MainActivity.this,Contact.class); 
       startActivity(i); 
      } 
     }); 

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

       Intent i=new Intent(MainActivity.this,About.class); 
       startActivity(i); 
      } 
     }); 

     } 


    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.menu_main, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle action bar item clicks here. The action bar will 
     // automatically handle clicks on the Home/Up button, so long 
     // as you specify a parent activity in AndroidManifest.xml. 
     int id = item.getItemId(); 

     //noinspection SimplifiableIfStatement 
     if (id == R.id.action_settings) { 
      return true; 
     }[it give error at page shown in image][1] 

     return super.onOptionsItemSelected(item); 
    } 
} 
+0

Teilen Sie Ihre Fehler Protokolle – Nitesh

+0

bei com.example.user.mangoair11.MainActivity.onCreate (MainActivity.java:25) – Rohi

+0

bitte teilen Sie die vollständigen Protokolle, so kann der Fehler beurteilt werden – Nitesh

Antwort

0

Ich glaube, das Problem mit dem Thema ist, dass Sie für Ihre MainActivity

entweder versuchen Theme.AppCompat.Light für MainActivity verwenden oder verwenden Activity statt AppCompatActivity

+0

ich versuchte, aber immer noch nicht funktioniert – Rohi

+0

was Sie habe versucht.? – Nitesh

+0

zeigen Ihnen die Manifest-Code, wo Sie die mainActivity sind declearing – Nitesh

Verwandte Themen