마스터Q&A
접속유지
가입하기
안드로이드 Q&A
최근 질문
미답변 질문
태그
사용자
질문하기
마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다.
안드로이드펍
에서 운영하고 있습니다. [
사용법
,
운영진
]
인기있는 태그
초보어플개발
(3425)
안드로이드스튜디오
(2656)
안드로이드-초보어플개발
(1328)
안드로이드-스튜디오
(1085)
도와주세요-
(988)
이미지
(969)
listview
(866)
리스트뷰
(844)
오류
(803)
레이아웃
(692)
fragment
(675)
webview
(670)
Activity에 있는 arraylist값을 OnReceive 할때 가져오고 싶은데 어떻게 해야하나요?
0
추천
IncomingCallBroadcastReceiver.java
public class IncomingCallBroadcastReceiver extends BroadcastReceiver {
public static final String TAG = "PHONE STATE";
private static String mLastState;
private final Handler mHandler = new Handler(Looper.getMainLooper());
@Override
public void onReceive(final Context context, Intent intent) {
Log.d(TAG,"onReceive()");
String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
if (state.equals(mLastState)) {
return;
} else {
mLastState = state;
}
}
}
MainActivity.java
public class MainActivity extends Activity {
String myJSON;
private static final String TAG_RESULTS="result";
private static final String TAG_SUPPLIER_NAME = "supplier_name";
private static final String TAG_SUPPLIER_LOCAL_NAME ="supplier_local_name";
JSONArray peoples = null;
public ArrayList<SupplierInfo> arraylist = new ArrayList<SupplierInfo>();
ListView list;
EditText filterText;
ListViewAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
filterText = (EditText)findViewById(R.id.search);
list = (ListView) findViewById(R.id.listView);
getDbData("
http://test.php
");
// IP주소 : PHP 파일이 등록된 서버의 IP 주소 및 경로
list.setTextFilterEnabled(true);
filterText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
//변화되는 문자열을 필터링에 적용한다
//list.setFilterText(s.toString());
String text = filterText.getText().toString().toLowerCase(Locale.getDefault());
adapter.filter(text);
}
@Override
public void afterTextChanged(Editable arg0) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
});
}
private void getDbData(String string) {
class GetDataJSON extends AsyncTask<String, Void, String>{
@Override
protected String doInBackground(String... params) {
String uri = params[0];
BufferedReader bufferedReader = null;
try {
URL url = new URL(uri);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
StringBuilder sb = new StringBuilder();
bufferedReader = new BufferedReader(new InputStreamReader(con.getInputStream(), "EUC-KR"));
String json;
while((json = bufferedReader.readLine())!= null){
sb.append(json + "\n");
}
return sb.toString().trim();
} catch(Exception e){
return new String("Exception: " + e.getMessage());
}
}
protected void onPostExecute(String result){
myJSON=result;
showList();
}
}
GetDataJSON g = new GetDataJSON();
g.execute(string);
}
protected void showList(){
//Boolean bCheck;
try {
JSONObject jsonObj = new JSONObject(myJSON);
peoples = jsonObj.getJSONArray(TAG_RESULTS);
for(int i=0;i<peoples.length();i++){
JSONObject c = peoples.getJSONObject(i);
String supplierName = c.getString(TAG_SUPPLIER_NAME);
String supplierLocalName = c.getString(TAG_SUPPLIER_LOCAL_NAME);
SupplierInfo sp = new SupplierInfo(supplierName, supplierLocalName);
arraylist.add(sp);
}
adapter = new ListViewAdapter(this, arraylist);
list.setAdapter(adapter); // ListView 에 어댑터 설정
} catch (JSONException e) {
e.printStackTrace();
}
}
}
안드로이드
초보어플개발
파이르
(
120
포인트)
님이
2017년 4월 5일
질문
파이르
님이
2017년 4월 5일
수정
1. sqlite나 realm 에 저장해서 부른다
2. 서버통신을한다
Please
log in
or
register
to add a comment.
답변 달기
·
글에 소스 코드 보기 좋게 넣는 법
·
질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
답변이 채택되거나 답변에 댓글이 달리면 이메일로 알려드립니다:
답변이 채택되거나 댓글이 달리면 이메일로 알려드립니다
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면
로그인
하거나 혹은
가입
하세요.
2개의 답변
0
추천
추천하는 방법은 아니지만 ArrayList를 static으로 설정하시고, Activity.arraylist값 가져와서 쓰시면됨.
자바는 가비지컬렉션때문에 메모리차면 지가 알아서 초기화하는 문제가 발생할 수도 있어서 추천해드리는건 아님 ㅎ
뼈발자
님이
2017년 4월 5일
답변
해결하였습니다. 감사합니다.
Please
log in
or
register
to add a comment.
0
추천
브로드캐스트 데이터를 JSONString 으로 변환해서 던지시면 됩니다.
개발자초심
(
21,220
포인트)
님이
2017년 4월 5일
답변
Please
log in
or
register
to add a comment.
...