PNR ステータスを取得するために Web サービスを呼び出すアプリケーションがあります。しかし、私は Web サービスを作成する初心者なので、Web サービスを作成して使用する方法を知るために、いくつかのビデオと例を確認しました。
stackoverflow で 1 つの質問を見つけましたhttps://stackoverflow.com/questions/14598485/need-indian-railway-apis-for-making-app-for-pnr-status-train-info-etcと、この質問で提供されているすべてのリンクそして私はこれを手に入れました:http://pnrapi.alagu.net/。
私のコードは次のとおりです。
XML : activity_status_pnr.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<EditText android:id="@+id/et_pnr"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/h"
android:maxLength="10" />
<Button android:id="@+id/pnr_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/gstatus"
android:layout_gravity="center" />
</LinearLayout>
JAVA コード : StatusPNR.java
package com.example.infopnr;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import java.io.IOException;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.ResponseHandler;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
public class StatusPNR extends Activity {
String URL = "http://pnrapi.alagu.net/api/v1.0/pnr/UR_PNR_CODE";
String result = "";
//String deviceId = "xxxxx" ;
//final String tag = "Your Logcat tag: ";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_status_pnr);
final EditText txtSearch = (EditText)findViewById(R.id.et_pnr);
txtSearch.setOnClickListener(new EditText.OnClickListener()
{
public void onClick(View v){txtSearch.setText("");}
});
final Button btnSearch = (Button)findViewById(R.id.pnr_status);
btnSearch.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v) {
String query = txtSearch.getText().toString();
PNRWebService(query);
}
});
}
private void PNRWebService(String q){
}
}
ここでいくつかの問題に直面したため、まだ Web サービス メソッドを作成していません。一部の Web サイトで、HTTP クライアントの取得には Apache Web サーバーを使用する必要があると読みました。しかし、よくわかりませんし、なぜそれが何のためなのかわかりませんか?
私の質問は:
1)Webサーバーを取得するために何かをインストールする必要がありますか、それとも事前に何もインストールせずにWebサービスを呼び出すのにコーディングで十分ですか?
2) PNRWebService() メソッドで、接続を取得して URL でサービスを呼び出すために必要なことは何ですか? HTTPClient を介して接続を確立する必要があることはわかっていますが、多くの例やビデオを見た後、実際にどのように接続しているのかわかりませんでしたか?
3) http://pnrapi.alagu.net/このサイトを参照して、PNR ステータスを取得しようとしていますか? これを呼び出すには、これのURLが何であるか、およびURLを取得した後にさらに何をすべきかわからないため、何をする必要がありますか?
4) Apache からいくつかのパッケージをインポートしましたが、その価値があるかどうかわかりません。
誰かが良い知識を持っている場合は、助けてください。実行方法を教えてください。