-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Seminar7 #6
base: main
Are you sure you want to change the base?
Seminar7 #6
Changes from all commits
4779bdf
cbb1f53
1166dff
887abd9
795ebe5
2cb6a84
0647cd3
0794470
4903a9b
0c5d312
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,36 +1,7 @@ | ||
package com.example.num1.data.github | ||
|
||
data class ResponseUserInfo( | ||
val login: String, | ||
val id: Int, | ||
val node_id: String, | ||
val avatar_url: String, | ||
val gravatar_id: String, | ||
val url: String, | ||
val html_url: String, | ||
val followers_url: String, | ||
val following_url: String, | ||
val gists_url: String, | ||
val starred_url: String, | ||
val subscriptions_url: String, | ||
val organizations_url: String, | ||
val repos_url: String, | ||
val events_url: String, | ||
val received_events_url: String, | ||
val type: String, | ||
val site_admin: Boolean, | ||
val name: String, | ||
val company: String?, | ||
val blog: String?, | ||
val location: String?, | ||
val email: String?, | ||
val hireable: String?, | ||
val bio: String?, | ||
val twitter_username: String?, | ||
val public_repos: Int?, | ||
val public_gists: Int?, | ||
val followers: Int, | ||
val following: Int, | ||
val created_at: String, | ||
val updated_at: String | ||
val login : String, | ||
val html_url : String, | ||
val avatar_url : String | ||
) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
package com.example.num1 | ||
|
||
import androidx.appcompat.app.AppCompatActivity | ||
import android.os.Bundle | ||
|
||
class OnBoarding : AppCompatActivity() { | ||
override fun onCreate(savedInstanceState: Bundle?) { | ||
super.onCreate(savedInstanceState) | ||
setContentView(R.layout.activity_on_boarding) | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
package com.example.num1.onboarding | ||
|
||
import android.os.Bundle | ||
import androidx.fragment.app.Fragment | ||
import android.view.LayoutInflater | ||
import android.view.View | ||
import android.view.ViewGroup | ||
import androidx.navigation.fragment.findNavController | ||
import com.example.num1.R | ||
import com.example.num1.databinding.FragmentOnBoarding1Binding | ||
|
||
class OnBoarding1 : Fragment() { | ||
|
||
private var _binding : FragmentOnBoarding1Binding? = null | ||
private val binding get() = _binding ?: error("Binding이 초기화 되지 않았습니다.") | ||
|
||
override fun onCreateView( | ||
inflater: LayoutInflater, container: ViewGroup?, | ||
savedInstanceState: Bundle? | ||
): View? { | ||
_binding = FragmentOnBoarding1Binding.inflate(layoutInflater, container, false) | ||
binding.btnNext.setOnClickListener { | ||
findNavController().navigate(R.id.action_onBoarding1_to_onBoarding2) | ||
} | ||
|
||
return binding.root | ||
} | ||
|
||
override fun onDestroyView() { | ||
super.onDestroyView() | ||
_binding = null | ||
} | ||
|
||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
package com.example.num1.onboarding | ||
|
||
import android.os.Bundle | ||
import android.view.LayoutInflater | ||
import android.view.View | ||
import android.view.ViewGroup | ||
import androidx.fragment.app.Fragment | ||
import androidx.navigation.fragment.findNavController | ||
import com.example.num1.R | ||
import com.example.num1.databinding.FragmentOnBoarding2Binding | ||
|
||
class OnBoarding2 : Fragment() { | ||
|
||
private var _binding: FragmentOnBoarding2Binding? = null | ||
private val binding get() = _binding ?: error("Binding이 초기화 되지 않았습니다.") | ||
|
||
override fun onCreateView( | ||
inflater: LayoutInflater, container: ViewGroup?, | ||
savedInstanceState: Bundle? | ||
): View? { | ||
_binding = FragmentOnBoarding2Binding.inflate(layoutInflater, container, false) | ||
binding.btnNext.setOnClickListener { | ||
findNavController().navigate(R.id.action_onBoarding2_to_onBoarding3) | ||
} | ||
|
||
return binding.root | ||
} | ||
|
||
override fun onDestroyView() { | ||
super.onDestroyView() | ||
_binding = null | ||
} | ||
} | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
package com.example.num1 | ||
|
||
import android.content.Intent | ||
import android.os.Bundle | ||
import androidx.fragment.app.Fragment | ||
import android.view.LayoutInflater | ||
import android.view.View | ||
import android.view.ViewGroup | ||
import com.example.num1.databinding.FragmentOnBoarding3Binding | ||
import com.example.num1.view.activity.SignInActivity | ||
|
||
|
||
class OnBoarding3 : Fragment() { | ||
private var _binding: FragmentOnBoarding3Binding? = null | ||
private val binding get() = _binding ?: error("Binding이 초기화 되지 않았습니다.") | ||
|
||
|
||
override fun onCreateView( | ||
inflater: LayoutInflater, container: ViewGroup?, | ||
savedInstanceState: Bundle? | ||
): View? { | ||
_binding = FragmentOnBoarding3Binding.inflate(layoutInflater, container, false) | ||
goSignIn() | ||
return binding.root | ||
} | ||
|
||
private fun goSignIn(){ | ||
binding.btnNext.setOnClickListener { | ||
val intent = Intent(context, SignInActivity::class.java) | ||
startActivity(intent) | ||
activity?.finish() | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. activity보다는 저는 requireActivity()를 즐겨 씁니다. 이전에 이런 글을 봤는데, requireActivity()가 더 명시적인 예외를 발생시킨다고 하네요. |
||
} | ||
} | ||
|
||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
package com.example.num1.util | ||
|
||
import android.content.Context | ||
import android.content.SharedPreferences | ||
|
||
object LOGINSharedPreferences { | ||
private const val STORAGE_KEY = "USER_AUTO" | ||
private const val AUTO_LOGIN = "AUTO_LOGIN" | ||
|
||
fun getSharedPreference(context: Context): SharedPreferences = | ||
context.getSharedPreferences(STORAGE_KEY, Context.MODE_PRIVATE) | ||
//sharedpreferences객체를 획득하 떄 지정하는 MODE_PRIVATE는 자기 앱 내에서 사용, 외부 앱에서 접근 불가 | ||
|
||
fun getAutoLogin(context: Context): Boolean { | ||
return getSharedPreference(context).getBoolean(AUTO_LOGIN, false) | ||
} | ||
|
||
fun setAutoLogin(context: Context, value: Boolean) { | ||
getSharedPreference(context).edit() | ||
//데이터를 저장할때 사용하는 editor클래스의 함수 | ||
.putBoolean(AUTO_LOGIN, value) | ||
.apply() | ||
} | ||
|
||
fun setLogin(context: Context) { | ||
getSharedPreference(context) | ||
.edit() | ||
.remove(AUTO_LOGIN) | ||
.clear() | ||
.apply() | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
네비게이션 추가하셨구나