Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > Mobile > Mobile Forum > การบันทึกข้อมูลที่จะมีรูปภาพจาก Android เข้าฐานข้อมูล (MySQL, SQL Server) โดยต้องมีข้อมูล แต่ไม่บังคับว่าจะมีรูปภาพหรือไม่



 

การบันทึกข้อมูลที่จะมีรูปภาพจาก Android เข้าฐานข้อมูล (MySQL, SQL Server) โดยต้องมีข้อมูล แต่ไม่บังคับว่าจะมีรูปภาพหรือไม่

 



Topic : 116786



โพสกระทู้ ( 37 )
บทความ ( 0 )



สถานะออฟไลน์




ในการบันทึกข้อมูลและรูปภาพจาก Android เข้าฐานข้อมูล MySQL หรือ SQL Server โดย ต้องมีข้อมูล แต่ไม่บังคับว่าจะมีรูปภาพหรือไม่ ต้องใช้คำสั่งอะไรเป็นการควบคุม ใครมีความรู้ทางด้านนี้ช่วยบอกให้หน่อยนะครับ จะขอบคุณอย่างมากครับ

Code
package com.android.car;

import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import org.apache.http.NameValuePair;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import org.apache.http.message.BasicNameValuePair;
import java.util.List;
import android.os.StrictMode;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import org.json.JSONException;
import org.json.JSONObject;
import android.widget.Toast;import java.io.BufferedReader;
import java.io.InputStream;
import android.util.Log;
import android.app.AlertDialog;
import java.io.ByteArrayOutputStream;

public class SaveActivity extends ActionBarActivity {
    // ประกาศตัวแปร
    private TextView name, tel;
    private String name1, tel1;
    private String pathSignature;
    private Button ok;
    private ImageView signatureView;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_save);
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);
        init();  // แยกประกอบรับค่ามาจาก XML
        intents();  // แสดงค่าที่รับมาจาก File กรอกข้อมูล
        totamsum();  // ผสมระหว่าง File กรอกข้อมูล เข้าสู่รับค่าจาก XML
        okbutton();  // ทำการบันทึกเข้า MySQL หรือ SQL Server
    }

    private void init() {   // รับค่า XML
        name = (TextView) findViewById(R.id.name);
        tel = (TextView) findViewById(R.id.tel);
        ok = (Button) findViewById(R.id.ok);
        signatureView = (ImageView)findViewById(R.id.signatureView);
    }

    private void intents() {  // แสดงค่าจาก File กรอกข้อมูล
        Intent save11 = getIntent();
        name1 = save11.getStringExtra("name");
        tel1 = save11.getStringExtra("tel");
        pathSignature = save11.getStringExtra("pathSignature");
    }

    private void totamsum() {  // ผสมระหว่าง File กรอกข้อมูล เข้ารับค่าจาก XML
        name.setText(name1);
        tel.setText(tel1);
        signatureView.setImageBitmap(BitmapFactory.decodeFile(pathSignature));
    }

    private void okbutton() {  // ทำการบันทึก
        ok.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(SaveData()) {
                }
            }
        });
    }

    public boolean SaveData() {
        
        final AlertDialog.Builder ad = new AlertDialog.Builder(this);  // ตรวจสอบการผิดพลาด
        ad.setTitle("Error! ");
        ad.setIcon(android.R.drawable.btn_star_big_on);
        ad.setPositiveButton("Close", null);

        URLEdit.url_Save();  // ส่งไปยัง File บันทึก URL
        String url = URLEdit.url_Save();  // รับจาก File บันทึก URL

        String strSDPath = pathSignature.toString();  // รูปภาพ ซึ่งจะมีหรือไม่มีก็ได้
        String resServer = uploadFiletoServer(strSDPath, url);

        List<NameValuePair> params = new ArrayList<NameValuePair>();  // รับตัวแปรพร้อมส่งไปยัง PHP เพื่อบันทึกลง MySQL หรือ SQL Server
        params.add(new BasicNameValuePair("nName", name.getText().toString())); 
        params.add(new BasicNameValuePair("nTel", tel.getText().toString()));
        params.add(new BasicNameValuePair("pic_file", pathSignature.toString()));
        params.add(new BasicNameValuePair("pic_name", resServer.toString()));

        getJSONUrl.getUrl(url, params);  // ประมวลผล
        String resultServer = getJSONUrl.returnString();

        String strStatusID = "0";
        String strError = "Unknow!";
        String strName = "";

        JSONObject c;
        try {
            c = new JSONObject(resultServer);
            strStatusID = c.getString("StatusID");
            strError = c.getString("Error");
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        if (strStatusID.equals("1")) {
            ad.setMessage(strError);
            ad.show();
        } else {
            Toast.makeText(SaveActivity.this, "Save Finish", Toast.LENGTH_SHORT).show();
        }
        return true;
    }

    public String uploadFiletoServer(String strSDPath, String url) {  // ประมวลรูปภาพ
        int bytesRead, bytesAvailable, bufferSize;
        byte[] buffer;
        int maxBufferSize = 1 * 1024 * 1024;
        int resCode = 0;
        String resMessage = "";
        String lineEnd = "\r\n";
        String twoHyphens = "--";
        String boundary =  "*****";
        try {
            File file = new File(strSDPath);
            if(!file.exists()) {
                return "{\"StatusID\":\"0\",\"Error\":\"Please check path on SD Card\"}";
            }
            FileInputStream fileInputStream = new FileInputStream(new File(strSDPath));
            URL url1 = new URL(url);
            HttpURLConnection conn = (HttpURLConnection) url1.openConnection();
            conn.setDoInput(true);
            conn.setDoOutput(true);
            conn.setUseCaches(false);
            conn.setRequestMethod("POST");
            conn.setRequestProperty("Connection", "Keep-Alive");
            conn.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary);
            DataOutputStream outputStream = new DataOutputStream(conn.getOutputStream());
            outputStream.writeBytes(twoHyphens + boundary + lineEnd);
            outputStream.writeBytes("Content-Disposition: form-data; name=\"pic_name\";filename=\"" + strSDPath + "\"" + lineEnd);
            outputStream.writeBytes(lineEnd);
            bytesAvailable = fileInputStream.available();
            bufferSize = Math.min(bytesAvailable, maxBufferSize);
            buffer = new byte[bufferSize];
            bytesRead = fileInputStream.read(buffer, 0, bufferSize);
            while (bytesRead > 0) {
                outputStream.write(buffer, 0, bufferSize);
                bytesAvailable = fileInputStream.available();
                bufferSize = Math.min(bytesAvailable, maxBufferSize);
                bytesRead = fileInputStream.read(buffer, 0, bufferSize);
            }
            outputStream.writeBytes(lineEnd);
            outputStream.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);
            resCode = conn.getResponseCode();
            if(resCode == HttpURLConnection.HTTP_OK) {
                InputStream is = conn.getInputStream();
                ByteArrayOutputStream bos = new ByteArrayOutputStream();
                int read = 0;
                while ((read = is.read()) != -1) {
                    bos.write(read);
                }
                byte[] result = bos.toByteArray();
                bos.close();
                resMessage = new String(result);
            }
            Log.d("resCode=",Integer.toString(resCode));
            Log.d("resMessage=",resMessage.toString());
            fileInputStream.close();
            outputStream.flush();
            outputStream.close();
            return resMessage.toString();
        } catch (Exception ex) {
            // Exception handling
            return null;
        }
    }
}




Tag : Mobile, MySQL, Ms SQL Server 2008, Android, Tablets, JAVA









ประวัติการแก้ไข
2015-05-27 17:22:41
2015-05-27 17:23:20
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-05-27 16:36:46 By : suparuark View : 920 Reply : 2
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ไม่ค่อยเข้าใจคำถามครับ ปกติถ้ารูปภาพไม่มีก็ไม่ต้อง Insert ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-05-27 17:01:38 By : mr.win
 


 

No. 2



โพสกระทู้ ( 37 )
บทความ ( 0 )



สถานะออฟไลน์


ไม่มีรูปภาพ แต่จะมีข้อความอื่นๆ น่ะครับ อย่างเช่น การถ่ายน้ำมันเครื่อง ก่อนการถ่ายจะมีการตรวจเช็คตำหนิของรถ จะมีการถ่ายรูปเพื่อยืนยันว่าคนคันนี้มีตำหนิ แต่ถ้าไม่มีตำหนิ ก็จะไม่จำเป็นต้องถ่ายรูปเอาไว้น่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-05-27 17:08:57 By : suparuark
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : การบันทึกข้อมูลที่จะมีรูปภาพจาก Android เข้าฐานข้อมูล (MySQL, SQL Server) โดยต้องมีข้อมูล แต่ไม่บังคับว่าจะมีรูปภาพหรือไม่
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่