CustomHttpClient를 사용하여 내 Android 앱에서 쿼리를 연결하고 실행합니다. PHP/mysql 쿼리에서 회 전자를 채울 수 있는지 궁금 해서요, 그렇다면 어떻게 수행 될까요?PHP/mysql 쿼리에서 spinner를 채 웁니다.
답변
그래서 실제로는 상당히 쉬워야합니다. 구현 세부 사항 측면에서 우리에게 많은 것을 제공하지는 않았으므로 준결승 코드에 최선을 다해 당신에게 좋은 결과를 줄 것입니다.
우리는 네트워크 응답을 기다리는 동안 UI 스레드를 차단하지 않기 위해 별도의 스레드에서 쿼리를 수행하려고합니다. AsyncTask, IntentService 또는 일종의 Loader를 사용하는 등 다양한 방법으로이 작업을 수행 할 수 있습니다. 귀하의 경우에는 AsyncTaskLoader 클래스가 최고가 될 사용자 정의 클래스 파생 폼이 있다고 생각합니다. 그래서 이것이 어떻게 보이는지 보도록하겠습니다 (로더를 사용하기 위해서는 더 최신 api에 액세스해야하며, API 레벨 11 이하라면이 애플리케이션을 작성하려면 http://developer.android.com/resources/articles/backward-compatibility.html을 확인하십시오).
MyActivity extends Activity implements LoaderManager.LoaderCallbacks<List<SpinnerItem>>{
private Adapter<SpinnerItem> spinnerAdapter;
private static final int SPINNER_LOADER_ID = 0;
public void onCreate(Bundle icicle){
Spinner theSpinner = findViewById(R.id.the_spinner);
spinnerAdapater = new Adapter<SpinnerItem>(...); //create empty adapter
spinnerAdapater.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
theSpinner.setAdapter(spinnerAdapater);
getLoaderManager().initLoader(SPINNER_LOADER_ID, null, this);
}
public Loader<List<SpinnerItems>> onCreateLoader(int id, Bundle arg){
//Create and return your loader
}
public void onLoadFinish(Loader<List<SpinnerItem>> loader, List<SpinnerItem> data){
//update your adapater with the new data
}
public void onLoaderReset(Loader<List<SpinnerItem>> loader){
//clear out all the data in the adapter
}
}
여기에 모두 매우 간단합니다. Android 개발자 페이지의 로더, 어댑터 등에 대한 내용을 읽어서 틈새를 메울 수 있어야합니다. "SpinnerItem"으로 가득 찬 "목록"을 사용한다는 사실은 물론 사용하려는 어댑터의 유형과 같이 특정 구현에 의존하게됩니다. 원하는 실제 데이터 구조를 마음대로 선택할 수 있습니다. 다시 한 번 자세한 내용은 Android 개발자 페이지를 참조하십시오. 지금까지 로더 클래스가 간다,이 같은 할 싶은 것 :
MyNetworkLoader extends AsyncTaskLoader<List<SpinnerItem>>
public MyNetworkLoader(Context context){
super(context);
}
List<SpinnerItem> loadInBackground(){
//Get data from server
}
}
loadInBackground 방법에 당신이 (당신의 서버에 쿼리 및 데이터 구조의 일종으로 응답을 변환하기 위해 CustomHttpClient를 사용합니다 이 예에서 우리는 "SpinnerItem"의 "List"를 사용하고 있습니다.
마지막으로 네트워크 요청이 완료 될 때까지 회 전자는 비어 있습니다. 스피너의 내용이로드되고 있음을 사용자에게 알리는 일종의 논리를 포함 할 수 있습니다.
그게 전부입니다. 새로운 로더 API는 작업을 매우 간단하게 만듭니다.
예 가능합니다. php/mysql 쿼리를 사용하여 항목 목록을 검색 한 다음 해당 항목을 어댑터를 사용하여 회 전자에 제공하십시오. 이 질문은 SpinnerAdapter를 작성하는 방법의 예를 제공합니다. How to correctly overwrite methods of SpinnerAdapter
- 1. 편집 텍스트에서 안드로이드로 Spinner를 동적으로 채 웁니다.
- 2. Jqgrid가 MySql 쿼리에서 select를 채 웁니다.
- 3. 배열로 매개 변수를 채 웁니다.
- 4. 그라데이션은 셀 반만 채 웁니다.
- 5. Codeigniter가 데이터베이스에서 테이블을 채 웁니다.
- 6. 트리보기에 xml 파일을 채 웁니다.
- 7. Android에서 SimpleAdapter로 Spinner를 채우기
- 8. many-to-many 테이블을 액세스로 채 웁니다.
- 9. 시간별로 ActiveRecord 그룹을 RIL 값으로 채 웁니다.
- 10. CakePHP - 모델의 양식 필드를 자동으로 채 웁니다.
- 11. Powershell은 파싱 된 파일에서 배열을 채 웁니다.
- 12. Django는 데이터베이스 필드에서 양식을 미리 채 웁니다.
- 13. LINQ (함께?) 객체의 목록을 채 웁니다
- 14. 데이터베이스가 변경되면 커서 어댑터를 다시 채 웁니다.
- 15. JComboBox에 특정 디렉토리의 파일 이름을 채 웁니다.
- 16. StackPanel에 데이터베이스의 체크 박스를 채 웁니다.
- 17. smartGWT : 서버에서 데이터를 검색하여 listGrid를 채 웁니다.
- 18. 레일이 이전시 테이블을 미리 채 웁니다.
- 19. 자바 스크립트와 PHPMySQL
- 20. 하이버 네이트 엔티티의 기존 데이터로 리비전 테이블을 채 웁니다.
- 21. AuthLogic이 자동으로 @base에 오류를로드하고 로그인 양식에 오류를 채 웁니다.
- 22. 웹 페이지를 호출하는 방법은 자동으로 문자열을 전달하는 양식을 채 웁니다.
- 23. Javascript는 주어진 셀 데이터의 HTML 테이블을 채 웁니다.
- 24. Magento는 고객을위한 주문 생성의 채우기 필드를 채 웁니다.
- 25. 문자열의 2 키로 맵을 채 웁니다. 문자 및 빈도 C++
- 26. WebService에서 DataSet을 반환하고 jQuery를 사용하여 데이터 목록을 채 웁니다. $ .ajax
- 27. MySQL은 auto_increment없이 값을 증가시켜 새로운 열을 채 웁니다.
- 28. 변경시 JQuery 동적 드롭 다운 메뉴가 다른 필드를 채 웁니다.
- 29. NSNumberFormatter를 사용하여 통화 기호와 값 사이의 공백을 채 웁니다
- 30. 은 mysql에 더미 데이터로 테이블을 자동으로 채 웁니다.