공공 데이터 포털과 연동 - eunja511005/Tutorial GitHub Wiki
공공 데이터 포털
- 접속주소 : https://www.data.go.kr/
- ######/jw0713!@jw1234
- 데이터찾기 > 데이터목록 > '날씨'로 검색 > 기상청_관광코스별 관광지 상세날씨 조회 지점 정보
- 최종 호출 주소 :
https://api.odcloud.kr/api/15007097/v1/uddi:e1cdb81d-44d4-40c1-a8d8-f1b311129a54?page=1&perPage=10&serviceKey=OFHNL%2BVIR5cBApnkyMqFmPjoncyWZTpbGxt7K%2B13XQVymgfWFUEyPKq4ZQ9O4cDuNAh8sYCZymVBilJ3o7N2yw%3D%3D
chatGPT 활용하여 http 호출 프로그램 개발
- 명령어 :
1. sample code for https call and grid view with android
2. Cannot resolve symbol 'Picasso'
3. sample code for https call and json list view in android
4. how to set gradule to use volley
안드로이드 스튜디오에서 해당 앱 만들기
- First, make sure to add the following permissions in the AndroidManifest.xml file:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
- Then, create a layout file for the GridView (grid_item.xml):
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"/>
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="8dp"
android:gravity="center"
android:textSize="16sp"
android:textColor="#000000"
android:textStyle="bold"/>
- Next, create a class for the data model (MyDataModel.java):
public class MyDataModel {
private String imageUrl;
private String title;
public MyDataModel(String imageUrl, String title) {
this.imageUrl = imageUrl;
this.title = title;
}
public String getImageUrl() {
return imageUrl;
}
public String getTitle() {
return title;
}
}
- Then, create an adapter class for the GridView (MyGridViewAdapter.java):
public class MyGridViewAdapter extends BaseAdapter {
private Context context;
private List<MyDataModel> dataList;
public MyGridViewAdapter(Context context, List<MyDataModel> dataList) {
this.context = context;
this.dataList = dataList;
}
@Override
public int getCount() {
return dataList.size();
}
@Override
public Object getItem(int position) {
return dataList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View gridViewItem;
if (convertView == null) {
gridViewItem = inflater.inflate(R.layout.grid_item, null);
} else {
gridViewItem = convertView;
}
ImageView imageView = gridViewItem.findViewById(R.id.imageView);
TextView textView = gridViewItem.findViewById(R.id.textView);
Picasso.get().load(dataList.get(position).getImageUrl()).into(imageView);
textView.setText(dataList.get(position).getTitle());
return gridViewItem;
}
}