|
|
|
Android อยากได้วิธีดึง ฐานข้อมูล ลงบนเครื่องใช้งานจริงครับ |
|
|
|
|
|
|
|
1. ต้องเรียกผ่าน IP เท่านั้นนะครับ ไม่ใช่ Localhost
2. ตรงไฟล์ config ของ APK ได้มีส่วนอนุญาติให้เข้าถึง Domain หรือยัง
|
|
|
|
|
Date :
2018-01-25 10:28:35 |
By :
OOP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอดูไฟล์ config ที่ทำอยู่ครับ
|
|
|
|
|
Date :
2018-01-25 11:06:49 |
By :
OOP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 3 เขียนโดย : OOP เมื่อวันที่ 2018-01-25 11:06:49
รายละเอียดของการตอบ ::
Code (Android-Java)
package com.example.admin.myapplication;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.StrictMode;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.w3c.dom.Text;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if(android.os.Build.VERSION.SDK_INT>=16){
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}
final ListView lisView1 = (ListView)findViewById(R.id.listView1);
String url = "http://10.0.2.2/condb.php";
try{
JSONArray data = new JSONArray(getJSONUrl(url));
final ArrayList<HashMap<String, String>> MyArrList = new ArrayList<HashMap<String, String>>();
HashMap<String, String> map;
for(int i=0; i<data.length(); i++){
JSONObject c = data.getJSONObject(i);
map = new HashMap<String, String>();
map.put("p_date", c.getString("p_date"));
map.put("p_tn", c.getString("p_tn"));
map.put("p_tc", c.getString("p_tc"));
map.put("p_husk", c.getString("p_husk"));
MyArrList.add(map);
}
SimpleAdapter sAdap;
sAdap = new SimpleAdapter(MainActivity.this, MyArrList, R.layout.activity_column,
new String[]{"p_date","p_tn","p_tc","p_husk"},
new int[]{R.id.ColDate,R.id.Colptn,R.id.Colptc,R.id.Colph});
lisView1.setAdapter(sAdap);
final AlertDialog.Builder viewDetail = new AlertDialog.Builder(this);
lisView1.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> myAdapter, View myView, int position, long mylng) {
String sp_date = MyArrList.get(position).get("p_date").toString();
String sp_tn = MyArrList.get(position).get("p_tn").toString();
String sp_tc = MyArrList.get(position).get("p_tc").toString();
String sp_husk = MyArrList.get(position).get("p_husk").toString();
viewDetail.setIcon(android.R.drawable.btn_star_big_on);
viewDetail.setTitle("ราคารับซื้อ");
viewDetail.setMessage("วันที่ : "+sp_date+"\n"+
"มันสด : "+sp_tn+" บาท/กิโลกรัม \n"+
"มันเส้น : "+sp_tc+" บาท/กิโลกรัม \n"+
"แกลบ : "+sp_husk+" บาท/กิโลกรัม ");
viewDetail.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
viewDetail.show();
}
});
} catch (JSONException e){
e.printStackTrace();
}
}
public String getJSONUrl(String url){
StringBuilder str = new StringBuilder();
HttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
try{
HttpResponse response = client.execute(httpGet);
StatusLine statusLine = response.getStatusLine();
int statusCode = statusLine.getStatusCode();
if (statusCode == 200){
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(content));
String line;
while ((line = reader.readLine()) !=null){
str.append(line);
}
} else{
Log.e("LOg", "Fail to download . . . ");
}
} catch (ClientProtocolException e){
e.printStackTrace();
} catch (IOException e){
e.printStackTrace();
}
return str.toString();
}
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.activity_main,menu);
return true;
}
}
|
|
|
|
|
Date :
2018-01-25 11:53:07 |
By :
bobiizzz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
String url = "http://10.0.2.2/condb.php";
ต้องเป็น real path ที่เครื่องสามารถเข้าถึงได้จริง ครับ ถ้าหากใช้ network เดียวกันก็พอทำได้ นะครับ ไม่แน่ใจว่าได้ลองใช้ไวไฟ แล้วลอง ping ip ดูครับ
|
|
|
|
|
Date :
2018-01-25 15:17:20 |
By :
Dragons_first |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทดสอบเรียกผ่าน Web Browser บน Mobile ดูก่อนก็ได้ครับ ถ้าได้แสดงว่า URL ที่เรียกสามารถเชื่อมต่อได้ครับ
|
|
|
|
|
Date :
2018-01-25 17:21:39 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
http://10.0.2.2/condb.php ไฟล์นี้เขียนไงครับ ข้างในมันอะ
|
|
|
|
|
Date :
2018-01-26 10:05:43 |
By :
OOP |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$objConnect = mysql_connect("61.19.30.xxx","xxx","xxx"); ทำไมหน้าตามันแปลกๆ
|
|
|
|
|
Date :
2018-01-26 10:59:04 |
By :
oop |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วครับขอบคุณทุกท่านมากครับ
เอาไฟล์ condb.php ไปฝากไว้บนเซิร์ฟเวอร์แล้ว เรียกจากเซิร์ฟเวอร์ ได้เลยครับ
มือใหม่หัดเขียนแอพ ^,^"
|
|
|
|
|
Date :
2018-01-27 09:30:50 |
By :
bobiizzz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช่แล้วครับ ถ้าใช้งานจริง เครื่อง Mobile จะต้องเชื่อมต่อกับ IP ของ Server ได้ครับ
|
|
|
|
|
Date :
2018-01-30 15:46:45 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|