2022. 2. 13. 10:42 에 작성
<인프런 - 망고플레이트 앱 만들기>
*Splash 만드는 방법: New -> Activity -> Empty Activity
activity_splash.xml 가서 화면 꾸미기
SplashActivity.kt 가서 액티비티 시작 (Handler부터)
AndroidManifest.xml 가서 <intent-filter> 위치를 바꾸기(mainactivity 이전으로)
*제목 없애고 싶은 경우
values -> themes.xml -> <item name="windowNoTitle">true</item> 추가
*테두리 둥글게 만들기 (radius로 검색해서 찾기)
drawable 폴더에 넣기
New -> drawable resourcefile 생성하고 검색한 내용 붙여넣기
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" android:padding = "10dp"> <solid android:color="#ffffff"></solid> <corners android:bottomLeftRadius="15dp" android:bottomRightRadius="15dp" android:topLeftRadius="15dp" android:topRightRadius="15dp"></corners> <stroke android:width="2dp" android:color="#BDBDBD"></stroke> </shape>
*Recyclerview 만들기
layout -> New -> Layout Resourcefile -> "rv_item".xml 만들기
activity_main.xml 에서 recyclerview 삽입
Adapter 만들기 (New -> Kotlin Class/File -> "RVAdapter".kt 만들기
전달해줄 데이터 담기 (New -> Kotlin Class/File -> "ContentsModel".kt만들기)
RVAdapter 에서 아래 내용 적기
class RVAdapter(val List : MutableList<ContentsModel>) : RecyclerView.Adapter<RVAdapter.ViewHolder>(){
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RVAdapter.ViewHolder {
val v = LayoutInflater.from(parent.context).inflate(R.layout.rv_item,parent,false)
return ViewHolder(v)
}
override fun onBindViewHolder(holder: RVAdapter.ViewHolder, position: Int) {
holder.bindItems(List[position])
}
override fun getItemCount(): Int {
return List.size
}
inner class ViewHolder(itemView : View) : RecyclerView.ViewHolder(itemView){
fun bindItems(item : ContentsModel){
MainActivity에서 데이터랑 연결 :
private val items = mutableListOf<ContentsModel>()
items.add( )
MainActivity에서 어뎁터랑 연결:
val recyclerview = findViewById<RecyclerView>(R.id.rv)
val rvAdapter = RVAdapter(items)
recyclerview.adapter = rvAdapter
recyclerview.layoutManager = LinearLayoutManager(this)
여기서 사진을 두줄씩 정리하고 싶다면?
recyclerview.layoutManager = GridLayoutManager(this, 2)
이거로 바꾸기
rv_item.xml 에서 imageview, textview 각각 id 지정
RVAdapter에서 바인딩 시작
inner class ViewHolder(itemView : View) : RecyclerView.ViewHolder(itemView){
fun bindItems(item : ContentsModel){
val rv_text = itemView.findViewById<TextView>(R.id.rvTextArea)
val rv_img = itemView.findViewById<ImageView>(R.id.rvImageArea)
rv_text.text = item.titleText
}
Glide: 외부에 있는 이미지 url 불러오기
AndroidManifest.xml 에서 인터넷 접근 허용시키고 시작
<uses-permission android:name="android.permission.INTERNET"/>
WebView - 음식점 이름 클릭하면 망고플레이트 웹사이트로 넘어감
Firebase Auth -uid 값 받아오기
스플래시 화면에서
회원가입해서 로그인을 한 사람인지? -> MainActivity
아니면 처음 들어오는 사람인지? -> LoginActivity
Firebase Realtime Database(북마크한거 저장)
'Android' 카테고리의 다른 글
Firebase realtime database (0) | 2022.04.22 |
---|---|
android 색상 태그 안먹히는 경우 (0) | 2022.04.22 |
firebase (0) | 2022.04.22 |
RecyclerView 에서 LinearLayout 목록 간격 조절 (0) | 2022.04.22 |
안드로이드 공부한 책 & 인강 모음 (0) | 2022.04.22 |