1

私は NFC タグを初めて使用し、その仕組みに興味があります。私は NFC タグを購入し、学生 ID をタグに書き込むことができます。今私の問題は、学生IDをphp Webサービスに渡し、アプリケーションで学生カードをスキャンするときに、この学生がカフェテリアに進む前に食事を支払ったかどうかを確認する方法です。

親切に私がこれを行う方法について私を助けてください。以下は私がやったことです。

//reading the tag
private String readText(NdefRecord record) throws UnsupportedEncodingException {

        byte[] payload = record.getPayload();

        // Get the Text Encoding
        String textEncoding = ((payload[0] & 128) == 0) ? "UTF-8" : "UTF-16";

        // Get the Language Code
        int languageCodeLength = payload[0] & 0063;

        // Get the Text
        return new String(payload, languageCodeLength + 1, payload.length - languageCodeLength - 1, textEncoding);
    }

    @Override
    protected void onPostExecute(String result) {
        if (result != null) {
        //show the student id in a textedit
            mTextView.setText(result);

            //pass variable to the server and get contents. I want to pass the student id to the method
            getstudentinfo(result);
        }
    }

      void getstudentinfo(String studID) {

        //get connection to the server using http request
        httpclient=new DefaultHttpClient();

        httppost= new HttpPost("http://myip/getStudentBl.php?studID="+ studID);

        try{

        response = getThreadSafeClient().execute(httppost);
        ResponseHandler<String> responseHandler = new BasicResponseHandler();
        final String response = httpclient.execute(httppost, responseHandler);

        //checking the response and info the user
        runOnUiThread(new Runnable() {
            public void run() {

            dialog.dismiss();
            }
            });

        //if the user is found
        if(response.equalsIgnoreCase("Student Found")){
            runOnUiThread(new Runnable() {
            public void run() {
            //Toast.makeText(MainActivity.this,"Saved Successfull", Toast.LENGTH_SHORT).show();
                stdBalance.setText("Student Balance " + response);
            }
            });
            //show the dashboard screen
            startActivity(new Intent(MainActivity.this, MainActivity.class));
        }else if(response.equalsIgnoreCase("No Record")){
            //show error results
            showAlert();
        }
        //end try catch
        }catch(Exception e){
            dialog.dismiss();
            System.out.println("Exception : " + e.getMessage());
            }

    }
4

2 に答える 2

0

私の理解では、少なくとも Android リーダーでは、タグに URL が含まれている場合、自動的にブラウザーが読み込まれ、URL に移動します (アプリを開くかどうか、または URL に移動するかどうかは尋ねられません)。Student_id をクエリ文字列として配置し、ページで使用できるはずです。

于 2014-01-15T14:46:05.317 に答える