Android MySQl php connect

SQLite, Preferences, файлы, SD, Content Provider, XML, JSON
Ответить
Arman
Сообщения: 31
Зарегистрирован: 13 фев 2016, 07:13

Android MySQl php connect

Сообщение Arman » 09 май 2016, 21:37

Здравствуйте гуру ,подскажите использую данный код ля получения ответа от сервера по средствам JSON, но не могу получить ответ от сервера
AndroidManifiest

Код: Выделить всё

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

    <uses-sdk
        android:minSdkVersion="3"
        android:targetSdkVersion="15" />
    <uses-permission android:name="android.permission.INTERNET"/>

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

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

</manifest>

MainActivity вылетает в первом Exception

Код: Выделить всё

package loc.mab.selectjson;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
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.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 org.json.JSONObject;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

    String id;
    String name;
    InputStream is=null;
    String result=null;
    String line=null;

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

        final EditText e_id=(EditText) findViewById(R.id.editText1);
        Button select=(Button) findViewById(R.id.button1);
        select.setOnClickListener(new View.OnClickListener()
        {
           @Override
            public void onClick(View v)
            {
                // TODO Auto-generated method stub
                id = e_id.getText().toString();
                select();
            }
        });
    }

    public void select()
    {
        ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();

        nameValuePairs.add(new BasicNameValuePair("id_support",id));

        try
        {
            HttpClient httpclient = new DefaultHttpClient();
            HttpPost httppost = new HttpPost("http://olimpus.kostdaryn.kz/Myfile.php");
            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
            HttpResponse response = httpclient.execute(httppost);
            HttpEntity entity = response.getEntity();
            is = entity.getContent();
            Log.e("pass 1", "connection success ");
        }
        catch(Exception e)
        {
            Log.e("Fail 1", e.toString());
            Toast.makeText(getApplicationContext(), "Invalid IP Address",Toast.LENGTH_LONG).show();
        }

        try
        {
            BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
            StringBuilder sb = new StringBuilder();
            while ((line = reader.readLine()) != null)
            {
                sb.append(line + "\n");
            }
            is.close();
            result = sb.toString();
            Log.e("pass 2", "connection success ");
        }
        catch(Exception e)
        {
            Log.e("Fail 2", e.toString());
        }

        try
        {
            JSONObject json_data = new JSONObject(result);
            question=(json_data.getString("question"));
            Toast.makeText(getBaseContext(), "question : "+question,Toast.LENGTH_SHORT).show();
        }
        catch(Exception e)
        {
            Log.e("Fail 3", e.toString());
        }
    }


}

Myfile.php

Код: Выделить всё


	$con = mysql_connect($host,$uname,$pwd) or die("connection failed");
        mysql_set_charset('utf8',$con);
	mysql_select_db($db,$con) or die("db selection failed");
	 
	$id=$_REQUEST['id_support'];
	 
	$r=mysql_query("select * from support where id_support='$id'",$con);

	while($row=mysql_fetch_array($r))
	{
		$flag[question]=$row["question"];
	}
	 
	print(json_encode($flag));
	mysql_close($con);
Если в браузере набрать строка возвращает ответ
http://olimpus.kostdaryn.kz/Myfile.php?id_support=19

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Android MySQl php connect

Сообщение Foenix » 09 май 2016, 22:09

MainActivity вылетает в первом Exception
я после этого, если не вижу лога - сразу перестаю читать дальше.
Второе, используй retrofit
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Arman
Сообщения: 31
Зарегистрирован: 13 фев 2016, 07:13

Re: Android MySQl php connect

Сообщение Arman » 09 май 2016, 23:29

Извините, Вот что в логе

Код: Выделить всё

05-09 16:26:53.400 1892-1892/loc.mab.selectjson E/Fail 1: android.os.NetworkOnMainThreadException
05-09 16:26:53.404 1892-1892/loc.mab.selectjson E/Fail 2: java.lang.NullPointerException: lock == null
05-09 16:26:53.404 1892-1892/loc.mab.selectjson E/Fail 3: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Android MySQl php connect

Сообщение Foenix » 10 май 2016, 00:16

гугл
NetworkOnMainThreadException
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Arman
Сообщения: 31
Зарегистрирован: 13 фев 2016, 07:13

Re: Android MySQl php connect

Сообщение Arman » 10 май 2016, 09:52

Спс, форум я думал помогает

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Android MySQl php connect

Сообщение Foenix » 10 май 2016, 14:20

и по форуму можешь поискать, он тебе выдаст 100500 результатов.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Android MySQl php connect

Сообщение Foenix » 10 май 2016, 18:33

Foenix писал(а):
MainActivity вылетает в первом Exception
Второе, используй retrofit
http://www.androidhive.info/2016/05/and ... p-library/
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Ответить