안녕하세요.
몇분에 의견덕에 여기까지 왔습니다^^
혹시나 필요하신분들께 도움이 되었으면 합니다.
package exam.Read;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
public class Read extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ArrayList list = new ArrayList();
//파일 읽기
String strFileName = "HYUNDAI.ini";
StringBuffer strBuffer = new StringBuffer();
try {
FileInputStream fis = openFileInput(strFileName.toString());
DataInputStream dataIO = new DataInputStream(fis);
String strLine = null;
while( (strLine = dataIO.readLine()) != null)
//strBuffer.append(strLine + "\n");
list.add(strLine);
dataIO.close();
fis.close();
}
catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Spinner s = (Spinner) findViewById(R.id.Spinner01);
// ArrayAdapter adapter1 = ArrayAdapter.createFromResource(
// this, R.array.planet, android.R.layout.simple_spinner_item);
// adapter1.setDropDownViewResource(
// android.R.layout.simple_spinner_dropdown_item);
//ArrayList list;
ArrayAdapter adapter1 = new ArrayAdapter(this,android.R.layout.simple_list_item_multiple_choice, list);
//adapter1 = new ArrayAdapter(this, android.R.layout.simple_spinner_item, list);
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s.setAdapter(adapter1);
ArrayAdapter aa = new ArrayAdapter(this,
android.R.layout.simple_list_item_multiple_choice, list);
}
}
위에소스
현재 상태로는 텍스트파일 자체내용 전부를 불러서 스피너 하나에 불러오기 됩니다.
여기서 텍스트파일 내용---->HYUNDAI = NF, GE, EQ 입니다.
제가원하는건 스피너에 세줄이 생기면서,
NF
GE
EQ
가 되게 하는건데요.
이부분 답변 부탁드리구요.
=========================================================================================================
두번째로
package exam.ReadSdcard;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.StringTokenizer;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
public class ReadSdcard extends Activity {
FileReader reader = null;
BufferedReader bufferReader = null;
String filepath = "/sdcard/HYUNDAI.ini";
String data="";
String real="";
StringTokenizer token = null;
String[] datapart = null;
FileInputStream fis = null;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
dataread();
}
public void dataread(){
try {
reader = new FileReader(filepath);
bufferReader = new BufferedReader(reader);
while( (data=bufferReader.readLine()) != null){
//System.out.println(data);
token = new StringTokenizer(data,"$");
//System.out.println(token.countTokens());
String[] datapart = new String[token.countTokens()];
int count = token.countTokens();
if(token != null){
for(int i=0 ; i<count ; i++){
datapart[i] = (String)token.nextToken();
System.out.println("i:" + i + " data : "+datapart[i]);
}
}
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Spinner s = (Spinner) findViewById(R.id.Spinner01);
ArrayList list = new ArrayList();
ArrayAdapter adapter1 = new ArrayAdapter(this,
android.R.layout.simple_list_item_multiple_choice, list);
adapter1.setDropDownViewResource(
android.R.layout.simple_spinner_dropdown_item);
s.setAdapter(adapter1);
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}
}
제 생각으로 빨간색 list를 재설정 해야할듯 합니다;;;;;
가상 SDCARD에서 텍스트파일 불러오기 입니다.
에뮬까지 실행이 되구요.
결과가 좀 엽기?적 입니다. (아무런 글짜도 안나옴)
스피너 클릭했을시 이리 되네요;;;
이부분도 답변 부탁드립니다.
이렇게 넣으시고요
StringTokenizer st = new StringTokenizer(strBuffer.toString(), ",");
while (st.hasMoreTokens())
{
list.add(st.nextToken()));
}
해보세요. 아 그리고 HYUNDAI = NF, GE, EQ 에서 HYUNDAI = 이거는 지우세요.
정말 감사합니다.
넣는 위치가 맞는지 모르겠습니다;;
strBuffer.append(strLine); <----이부분이 에러가 납니다.
===============================
package exam.Read;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.StringTokenizer;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
public class Read extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ArrayList list = new ArrayList();
//파일 읽기
String strFileName = "HYUNDAI.ini";
StringBuffer strBuffer = new StringBuffer();
strBuffer.append(strLine);
try {
FileInputStream fis = openFileInput(strFileName.toString());
DataInputStream dataIO = new DataInputStream(fis);
String strLine = null;
while( (strLine = dataIO.readLine()) != null)
//strBuffer.append(strLine + "\n");
list.add(strLine);
dataIO.close();
fis.close();
}
catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
StringTokenizer st = new StringTokenizer(strBuffer.toString(), ",");
while (st.hasMoreTokens())
{
list.add(st.nextToken());
}
Spinner s = (Spinner) findViewById(R.id.Spinner01);
ArrayAdapter adapter1 = new ArrayAdapter(this,
android.R.layout.simple_list_item_multiple_choice, list);
adapter1.setDropDownViewResource(
android.R.layout.simple_spinner_dropdown_item);
s.setAdapter(adapter1);
}
}
이거 밑에다가 바로 빝에다가 strBuffer.append(strLine); 넣으시고요
//strBuffer.append(strLine + "\n");
list.add(strLine);
이거 두줄 지우세요. 그리고 그 밑에 한줄 뛰고
StringTokenizer st = new StringTokenizer(strBuffer.toString(), ",");
while (st.hasMoreTokens())
{
list.add(st.nextToken());
}
이거 넣으세요