Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法从我的android应用程序访问mysql数据库_Java_Android - Fatal编程技术网

Java 无法从我的android应用程序访问mysql数据库

Java 无法从我的android应用程序访问mysql数据库,java,android,Java,Android,我试图使用下面的代码将值插入mysql数据库。由于某种原因,每次我按下提交按钮,应用程序都会崩溃。我还添加了互联网许可。我听不懂航海日志。任何帮助都将不胜感激 MainActivity.java package com.example.testthis; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader;

我试图使用下面的代码将值插入mysql数据库。由于某种原因,每次我按下提交按钮,应用程序都会崩溃。我还添加了互联网许可。我听不懂航海日志。任何帮助都将不胜感激

MainActivity.java

package com.example.testthis;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;

import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;

import android.app.Activity;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;


public class MainActivity extends ActionBarActivity {

    EditText et;
    Button btn;
    String mname;
    String query;
    String mylink;
    Activity context;
    ProgressDialog pd;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        et = (EditText)findViewById(R.id.editText1);
        btn = (Button)findViewById(R.id.button1);
        btn.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                mname = et.getText().toString();

                try {

                    query = URLEncoder.encode(mname,"utf-8");

                } catch (UnsupportedEncodingException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

                mylink = "http://necrecords.16mb.com/donordetails.php?fn="+query;

                HttpAsyncTask hat = new HttpAsyncTask();

                hat.execute(mylink);

            }



        });


    }

    private class HttpAsyncTask extends AsyncTask<String, Void, String> {

        @Override
        protected String doInBackground(String... urls) {

            return httpRequestResponse(urls[0]);
        }

        protected void onPreExecute(){
            super.onPreExecute();
            pd = new ProgressDialog(context);
            pd.setTitle("Reporting query");
            pd.setMessage("Please wait..");
            pd.setCancelable(true);
            pd.setIndeterminate(true);
            pd.show();

        }
        // onPostExecute displays the results of the AsyncTask.
        @Override
        protected void onPostExecute(String result) {

            if(pd!=null) pd.dismiss();
            Toast.makeText(getApplicationContext(),"Successfully Sent!", Toast.LENGTH_LONG).show();

        }
    }

//For HttpAsync Functions: sending requests and receiving responses
    public static String httpRequestResponse(String url){
        InputStream inputStream = null;
        String result = "";
        try {
            // create HttpClient
            HttpClient httpclient = new DefaultHttpClient();

            // make GET request to the given URL
            HttpResponse httpResponse = httpclient.execute(new HttpGet(url));

            // receive response as inputStream
            inputStream = httpResponse.getEntity().getContent();

            // convert InputStream to string
            if(inputStream != null)
                result = convertInputStreamToString(inputStream);
            else
                result = "InputStream did not work";


        } catch (Exception e) {
            Log.d("InputStream", e.getLocalizedMessage());
        }

        return result;
    }

private static String convertInputStreamToString(InputStream inputStream) throws IOException{
    BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(inputStream));
    String line = "";
    String result = "";
    while((line = bufferedReader.readLine()) != null)
        result += line;

    inputStream.close();
    return result;
}


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.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();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}
package com.example.testthis;
导入java.io.BufferedReader;
导入java.io.IOException;
导入java.io.InputStream;
导入java.io.InputStreamReader;
导入java.io.UnsupportedEncodingException;
导入java.net.urlcoder;
导入org.apache.http.HttpResponse;
导入org.apache.http.client.HttpClient;
导入org.apache.http.client.methods.HttpGet;
导入org.apache.http.impl.client.DefaultHttpClient;
导入android.app.Activity;
导入android.app.ProgressDialog;
导入android.os.AsyncTask;
导入android.os.Bundle;
导入android.support.v7.app.ActionBarActivity;
导入android.util.Log;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.view.view;
导入android.view.view.OnClickListener;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.Toast;
公共类MainActivity扩展了ActionBarActivity{
编辑文本;
按钮btn;
字符串mname;
字符串查询;
字符串mylink;
活动语境;
进展性帕金森病;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et=(EditText)findViewById(R.id.editText1);
btn=(按钮)findViewById(R.id.button1);
btn.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
mname=et.getText().toString();
试一试{
query=URLEncoder.encode(mname,“utf-8”);
}捕获(不支持的编码异常e){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
mylink=”http://necrecords.16mb.com/donordetails.php?fn=“+查询;
HttpAsyncTask hat=新的HttpAsyncTask();
hat.execute(mylink);
}
});
}
私有类HttpAsyncTask扩展了AsyncTask{
@凌驾
受保护的字符串doInBackground(字符串…URL){
返回httpRequestResponse(URL[0]);
}
受保护的void onPreExecute(){
super.onPreExecute();
pd=新进度对话框(上下文);
pd.setTitle(“报告查询”);
pd.setMessage(“请稍候”);
pd.可设置可取消(真);
pd.SetUndeterminate(真);
pd.show();
}
//onPostExecute显示异步任务的结果。
@凌驾
受保护的void onPostExecute(字符串结果){
如果(pd!=null)pd.discouse();
Toast.makeText(getApplicationContext(),“已成功发送!”,Toast.LENGTH_LONG.show();
}
}
//对于HttpAsync功能:发送请求和接收响应
公共静态字符串httpRequestResponse(字符串url){
InputStream InputStream=null;
字符串结果=”;
试一试{
//创建HttpClient
HttpClient HttpClient=新的DefaultHttpClient();
//对给定URL发出GET请求
HttpResponse HttpResponse=httpclient.execute(新的HttpGet(url));
//作为inputStream接收响应
inputStream=httpResponse.getEntity().getContent();
//将InputStream转换为字符串
如果(inputStream!=null)
结果=convertInputStreamToString(inputStream);
其他的
结果=“InputStream未工作”;
}捕获(例外e){
d(“InputStream”,例如getLocalizedMessage());
}
返回结果;
}
私有静态字符串convertInputStreamToString(InputStream InputStream)引发IOException{
BufferedReader BufferedReader=新的BufferedReader(新的InputStreamReader(inputStream));
字符串行=”;
字符串结果=”;
而((line=bufferedReader.readLine())!=null)
结果+=行;
inputStream.close();
返回结果;
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
//为菜单充气;这会将项目添加到操作栏(如果存在)。
getMenuInflater().充气(R.menu.main,menu);
返回true;
}
@凌驾
公共布尔值onOptionsItemSelected(菜单项项){
//处理操作栏项目单击此处。操作栏将
//自动处理Home/Up按钮上的点击,只要
//在AndroidManifest.xml中指定父活动时。
int id=item.getItemId();
if(id==R.id.action\u设置){
返回true;
}
返回super.onOptionsItemSelected(项目);
}
}
Logcat

04-21 19:34:24.582: I/dalvikvm(5064): Could not find method android.view.ViewGroup.onNestedScrollAccepted, referenced from method android.support.v7.internal.widget.ActionBarOverlayLayout.onNestedScrollAccepted
    04-21 19:34:24.582: W/dalvikvm(5064): VFY: unable to resolve virtual method 12215: Landroid/view/ViewGroup;.onNestedScrollAccepted (Landroid/view/View;Landroid/view/View;I)V
    04-21 19:34:24.582: D/dalvikvm(5064): VFY: replacing opcode 0x6f at 0x0000
    04-21 19:34:24.582: I/dalvikvm(5064): Could not find method android.view.ViewGroup.onStopNestedScroll, referenced from method android.support.v7.internal.widget.ActionBarOverlayLayout.onStopNestedScroll
    04-21 19:34:24.582: W/dalvikvm(5064): VFY: unable to resolve virtual method 12221: Landroid/view/ViewGroup;.onStopNestedScroll (Landroid/view/View;)V
    04-21 19:34:24.582: D/dalvikvm(5064): VFY: replacing opcode 0x6f at 0x0000
    04-21 19:34:24.582: I/dalvikvm(5064): Could not find method android.support.v7.internal.widget.ActionBarOverlayLayout.stopNestedScroll, referenced from method android.support.v7.internal.widget.ActionBarOverlayLayout.setHideOnContentScrollEnabled
    04-21 19:34:24.582: W/dalvikvm(5064): VFY: unable to resolve virtual method 9785: Landroid/support/v7/internal/widget/ActionBarOverlayLayout;.stopNestedScroll ()V
    04-21 19:34:24.582: D/dalvikvm(5064): VFY: replacing opcode 0x6e at 0x000e
    04-21 19:34:24.592: I/dalvikvm(5064): Could not find method android.content.res.TypedArray.getChangingConfigurations, referenced from method android.support.v7.internal.widget.TintTypedArray.getChangingConfigurations
    04-21 19:34:24.592: W/dalvikvm(5064): VFY: unable to resolve virtual method 399: Landroid/content/res/TypedArray;.getChangingConfigurations ()I
    04-21 19:34:24.592: D/dalvikvm(5064): VFY: replacing opcode 0x6e at 0x0002
    04-21 19:34:24.592: I/dalvikvm(5064): Could not find method android.content.res.TypedArray.getType, referenced from method android.support.v7.internal.widget.TintTypedArray.getType
    04-21 19:34:24.592: W/dalvikvm(5064): VFY: unable to resolve virtual method 421: Landroid/content/res/TypedArray;.getType (I)I
    04-21 19:34:24.592: D/dalvikvm(5064): VFY: replacing opcode 0x6e at 0x0002
    04-21 19:34:24.592: I/dalvikvm(5064): Could not find method android.content.res.Resources.getDrawable, referenced from method android.support.v7.internal.widget.ResourcesWrapper.getDrawable
    04-21 19:34:24.592: W/dalvikvm(5064): VFY: unable to resolve virtual method 362: Landroid/content/res/Resources;.getDrawable (ILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;
    04-21 19:34:24.592: D/dalvikvm(5064): VFY: replacing opcode 0x6e at 0x0002
    04-21 19:34:24.592: I/dalvikvm(5064): Could not find method android.content.res.Resources.getDrawableForDensity, referenced from method android.support.v7.internal.widget.ResourcesWrapper.getDrawableForDensity
    04-21 19:34:24.592: W/dalvikvm(5064): VFY: unable to resolve virtual method 364: Landroid/content/res/Resources;.getDrawableForDensity (IILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;
    04-21 19:34:24.592: D/dalvikvm(5064): VFY: replacing opcode 0x6e at 0x0002
    04-21 19:34:24.622: D/TextView(5064): Constructor - Got Res id for appearance for textColorPrimaryInverse
    04-21 19:34:24.622: W/ResourceType(5064): Skipping entry 0x7f070035 in package table 0 because it is not complex!
    04-21 19:34:24.622: D/TextView(5064): Constructor - Got appearance for textColorPrimaryInverse
    04-21 19:34:24.622: D/TextView(5064): Constructor -- Got mEditTextBackgroundColor
    04-21 19:34:24.702: E/IMGSRV(5064): :0: PVRDRMOpen: TP3, ret = 46
    04-21 19:34:24.712: E/IMGSRV(5064): :0: PVRDRMOpen: TP3, ret = 49
    04-21 19:34:24.712: E/IMGSRV(5064): :0: PVRDRMOpen: TP3, ret = 50
    04-21 19:34:24.712: E/IMGSRV(5064): :0: PVRDRMOpen: TP3, ret = 50
    04-21 19:34:24.712: E/IMGSRV(5064): :0: PVRDRMOpen: TP3, ret = 50
    04-21 19:34:24.722: E/IMGSRV(5064): :0: PVRDRMOpen: TP3, ret = 52
    04-21 19:34:24.762: D/OpenGLRenderer(5064): Enabling debug mode 0
    04-21 19:34:30.742: D/AndroidRuntime(5064): Shutting down VM
    04-21 19:34:30.742: W/dalvikvm(5064): threadid=1: thread exiting with uncaught exception (group=0x430ef140)
    04-21 19:34:30.742: E/AndroidRuntime(5064): FATAL EXCEPTION: main
    04-21 19:34:30.742: E/AndroidRuntime(5064): Process: com.example.testthis, PID: 5064
    04-21 19:34:30.742: E/AndroidRuntime(5064): java.lang.NullPointerException
    04-21 19:34:30.742: E/AndroidRuntime(5064):     at android.app.AlertDialog.resolveDialogTheme(AlertDialog.java:143)
    04-21 19:34:30.742: E/AndroidRuntime(5064):     at android.app.AlertDialog.<init>(AlertDialog.java:98)
    04-21 19:34:30.742: E/AndroidRuntime(5064):     at android.app.ProgressDialog.<init>(ProgressDialog.java:77)
    04-21 19:34:30.742: E/AndroidRuntime(5064):     at com.example.testthis.MainActivity$HttpAsyncTask.onPreExecute(MainActivity.java:88)
    04-21 19:34:30.742: E/AndroidRuntime(5064):     at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:587)
    04-21 19:34:30.742: E/AndroidRuntime(5064):     at android.os.AsyncTask.execute(AsyncTask.java:535)
    04-21 19:34:30.742: E/AndroidRuntime(5064):     at com.example.testthis.MainActivity$1.onClick(MainActivity.java:67)
    04-21 19:34:30.742: E/AndroidRuntime(5064):     at android.view.View.performClick(View.java:4478)
    04-21 19:34:30.742: E/AndroidRuntime(5064):     at android.view.View$PerformClick.run(View.java:18698)
    04-21 19:34:30.742: E/AndroidRuntime(5064):     at android.os.Handler.handleCallback(Handler.java:733)
    04-21 19:34:30.742: E/AndroidRuntime(5064):     at android.os.Handler.dispatchMessage(Handler.java:95)
    04-21 19:34:30.742: E/AndroidRuntime(5064):     at android.os.Looper.loop(Looper.java:149)
    04-21 19:34:30.742: E/AndroidRuntime(5064):     at android.app.ActivityThread.main(ActivityThread.java:5257)
    04-21 19:34:30.742: E/AndroidRuntime(5064):     at java.lang.reflect.Method.invokeNative(Native Method)
    04-21 19:34:30.742: E/AndroidRuntime(5064):     at java.lang.reflect.Method.invoke(Method.java:515)
    04-21 19:34:30.742: E/AndroidRuntime(5064):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
    04-21 19:34:30.742: E/AndroidRuntime(5064):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
    04-21 19:34:30.742: E/AndroidRuntime(5064):     at dalvik.system.NativeStart.main(Native Method)
04-21 19:34:24.582:I/dalvikvm(5064):找不到方法android.view.ViewGroup.onnestedScrolAccepted,从方法android.support.v7.internal.widget.ActionBarOverlayLayout.onnestedScrolAccepted引用
04-21 19:34:24.582:W/dalvikvm(5064):VFY:无法解析虚拟方法12215:Landroid/view/ViewGroup;。ONNESTEDSCROLACCEPTED(Landroid/视图/视图;Landroid/视图/视图;I)V
04-21 19:34:24.582:D/dalvikvm(5064):VFY:在0x0000处替换操作码0x6f
04-21 19:34:24.582:I/dalvikvm(5064):找不到方法android.view.ViewGroup.onStopNestedScroll,该方法引用自方法android.support.v7.internal.widget.ActionBarOverlayLayout.onStopNestedScroll
04-21 19:34:24.582:W/dalvikvm(5064):VFY:无法解析虚拟方法12221:Landroid/view/ViewGroup;。onStopNestedScroll(Landroid/view/view;)V
04-21 19:34:24.582:D/dalvikvm(5064):VFY:在0x0000处替换操作码0x6f
04-21 19:34:24.582:I/dalvi
Activity context;
pd = new ProgressDialog(context);
04-21 19:34:30.742: E/AndroidRuntime(5064): java.lang.NullPointerException
04-21 19:34:30.742: E/AndroidRuntime(5064):     at android.app.AlertDialog.resolveDialogTheme(AlertDialog.java:143)
04-21 19:34:30.742: E/AndroidRuntime(5064):     at android.app.AlertDialog.<init>(AlertDialog.java:98)
04-21 19:34:30.742: E/AndroidRuntime(5064):     at android.app.ProgressDialog.<init>(ProgressDialog.java:77)
04-21 19:34:30.742: E/AndroidRuntime(5064):     at com.example.testthis.MainActivity$HttpAsyncTask.onPreExecute(MainActivity.java:88)
04-21 19:34:30.742: E/AndroidRuntime(5064):     at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:587)
04-21 19:34:30.742: E/AndroidRuntime(5064):     at android.os.AsyncTask.execute(AsyncTask.java:535)
04-21 19:34:30.742: E/AndroidRuntime(5064):     at com.example.testthis.MainActivity$1.onClick(MainActivity.java:67)
04-21 19:34:30.742: E/AndroidRuntime(5064):     at android.view.View.performClick(View.java:4478)
04-21 19:34:30.742: E/AndroidRuntime(5064):     at android.view.View$PerformClick.run(View.java:18698)
04-21 19:34:30.742: E/AndroidRuntime(5064):     at android.os.Handler.handleCallback(Handler.java:733)
04-21 19:34:30.742: E/AndroidRuntime(5064):     at android.os.Handler.dispatchMessage(Handler.java:95)
04-21 19:34:30.742: E/AndroidRuntime(5064):     at android.os.Looper.loop(Looper.java:149)
04-21 19:34:30.742: E/AndroidRuntime(5064):     at android.app.ActivityThread.main(ActivityThread.java:5257)
04-21 19:34:30.742: E/AndroidRuntime(5064):     at java.lang.reflect.Method.invokeNative(Native Method)
04-21 19:34:30.742: E/AndroidRuntime(5064):     at java.lang.reflect.Method.invoke(Method.java:515)
04-21 19:34:30.742: E/AndroidRuntime(5064):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
04-21 19:34:30.742: E/AndroidRuntime(5064):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609)
04-21 19:34:30.742: E/AndroidRuntime(5064):     at dalvik.system.NativeStart.main(Native Method)