inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

176만명의 커뮤니티!! 함께 토론해봐요.

강의자료가 맞지 않습니다.

미해결

프로그래밍, 데이터 과학을 위한 파이썬 입문

강의 자료 중 [함수 형태 예제]에 있는 자료에 오류가 있는 것 같습니다. 변수명도 다르고, 강의에서 설명하는 것과도 조금 다른 것 같네요.

  • bigdata
  • python
beomlight 댓글 5 좋아요 0 조회수 305

게이지가 변하는 버튼을 만들고싶은데욧

미해결

유니티 게임 개발 (Unity 2D) - 시작부터 배포까지

예전에 버튼강의에서 이거에 대해 설명해주시는 강의를 본거같은데 이제와 찾아보니까 이 부분에 대한것은 없더라구요. 마치 hp게이지 버튼 처럼 버튼의 색이 좌/우 혹은 상/하로 줄어들고 늘어나는 기능을 추가하고싶은데 구글에 검색해봐도 찾기 힘들더라구요. 이런기능을 추가하려면 어떻게 해야하나요?

  • unity
강준모씃스 댓글 1 좋아요 0 조회수 229

Code Assignment: Linear algebra with pythonic code [ def is_matrix_equal(*matrix_variables):] 관련하여 질문드립니다.

미해결

프로그래밍, 데이터 과학을 위한 파이썬 입문

하기 주제 관련하여, – Code Assignment: Linear algebra with pythonic code 비교가 되는 n개의 matrix가 서로 동치인지 확인하여 True 또는 False를 반환함 def is_matrix_equal(*matrix_variables): return [] 를 하기와 같이 풀고 있는 중에 있습니다. def is_matrix_equal(*matrix_variables): return [ [ print(a, *args) for a, *args in zip(*i)] for i in zip(*matrix_variables)] 이때, a 와 *args 의 밸류 값이 뜨는데 , 둘의 밸류가 같은지 비교하여 True False 로 반환만 하면 될 것 같은데, 이 후, 방법이 잘 떠오르지 않습니다. 접근법이 맞는지 궁금하여, 힌트 주실수 있으시다면 힌트좀 부탁드립니다…

  • python
  • bigdata
Jacob Hong 댓글 1 좋아요 0 조회수 214

디지털프레임 애니메이션 중에 스탑 이미지를 랜덤으로 하고싶어요

미해결

안녕하세요 디지털 프레임 강의 중에 스탑버튼으로 애니메이션 도중에 이미지를 멈추려면 다른 방법을 써야한다고 하셨는데 알려주실 수 있나요? 또는 스탑 버튼을 눌렀을 때 랜덤으로 이미지가 표시되게 하려면 어떻게 해야하나요? 제발 알려주세요

탁은주 댓글 0 좋아요 0 조회수 129

자바스크립트 개발 ES6 강좌 오프라인 세미나 관련 문의입니다.

미해결

모던 자바스크립트(javascript) 개발을 위한 ES6 강좌

ES6 오프라인 세미나를 신청 했는데 이후에 연락이 없어서 문의 드렸습니다. 이름은 김대윤으로 신청하였습니다. 신청이 제대로 되었는지 궁금합니다.

  • javascript
  • es6
김대윤 김 댓글 0 좋아요 0 조회수 235

강의 노트는 어디서 확인할 수 있나요?

미해결

Java로 배우는 자료구조

강의 말미에 강의노트에 연습문제를 준비해 놓으셨다고 하는데 강의 노트를 찾을 수가 없네요. 연습 문제를 풀어보고 싶습니다. 답변 부탁드립니다!

  • java
최재욱 댓글 3 좋아요 0 조회수 620

감사합니다.

미해결

쉽고 자연스럽게 배워보는 Javascript 입문 - 코드스쿼드 마스터즈 코스 레벨1

멋진 인트로 소개와 안내 감사드립니다

  • javascript
Sangmo Kang 댓글 0 좋아요 0 조회수 140

질문있습니다.

미해결

iOS AutoLayout을 활용한 실전 UI구성 전략 - 카카오톡 같은 고급 UI 만들기

발급자, 종류, 발급일에 대한 여러줄의 텍스트를 하나의 라벨로 표현하셨는데 실무에서 발급자, 종류, 발급일에 대한 값이 고정되지 않고 여러 데이터가 올 수 있지 않습니까?? 예를 들어 종류에 대한 텍스트가 '은행' 뿐만 아니라 다른 것이 올 수 있고, 발급일도 굉장히 동적인 데이터구요 이런 상황에서는 발급자, 종류, 발급일에 대한 텍스트를 각각 다른 라벨에 할당하는게 편할거 같은데, 일부러 라벨 라인수에 대한 설명을 해주시려고 하나의 라벨에 여러줄의 텍스트를 할당하신건지 궁금하고, 강사님께서 보여주신 것처럼 하나의 라벨에 여러줄의 텍스트를 넣었고, 그 각각 줄에 대한 텍스트가 동적으로 변한다고 가정했을때 쉽게 처리하는 방법이 있는지 궁금합니다.

  • iOS-Autolayout
minho oh 댓글 1 좋아요 0 조회수 306

실무에서 사용될수 있는 예시 많이 부탁드릴께요 ㅎㅎ;

미해결

Kotlin Android부터 Firebase 서버 그리고 훌륭한 Chatbot 만들기

실무에서 사용될수 있는 예시 많이 부탁드릴께요 ㅎㅎ; 예를 들어서 실무에서 가장 많이 쓰는 서버에서 json등으로 가져와서 무한 리스트뷰 라던지(보통 쇼핑몰 같은데 리스트 밑으로 내리면 계속 뜨는 거) 아니면, 이미지 속도 빨리 뜨게 하는거라던지 Lazy 이미지?? 가능한 실무와 관련된 예시도 좀 올라왔으면 좋겠습니다.^^;; 이유인즉, 코틀린으로 시작하게 되면서... 잘몰라서 그런건지... 아직은 좀 덜 활성화 된것인지... 검색해봐도 실무에 사용되어져야할 예시라던지 모듈이 많이 부족??하기 때문이기에... 실제.. 검색해서 찾았다 해도.. 이게 제대로 쓰고 있는게 맞는건지 확인도 안되고;; ㅠㅠ 예시쪽에 실무에서 쓸만한 예제도 꼭 좀 부탁드리겠습니다. 끝으로 강의 감사힙니다.ㅋ

  • kotlin
  • android
  • chatbot
배움배움배움 댓글 1 좋아요 0 조회수 163

주피터 노트북에서 headless가 작동이 안되요 ㅠ

미해결

파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기

선생님, 안녕하세요? 덕분에 파이썬 코딩이 즐거운 사람입니다 ^^ 다름이 아니라 하기 코드가 주피터 노트북에는 안먹히는이유가 있을까요? chrome_options = Options() #chrome_options.add_argument("--headless") 선생님 덕분에 작동이 잘 되는 크롤러를 만들었는데요 ㅎㅎ 계속 크롬창이 뜨는게 좀 아쉬워서요!! 부탁드리겠습니다.

  • 웹-크롤링
  • python
Seongmin Lee 댓글 1 좋아요 0 조회수 250

showHeap 파일 소스코드좀 부탁해요

미해결

Python 응용 - 파이썬으로 배우는 자료구조와 알고리즘

강의가 중간에 끊켰는지 ? 갑자기 아무설명도 없다가 showHeap이 나와서 강의 진행하는데 소스 코드좀 부탁드립니다

  • python
oncore 댓글 15 좋아요 0 조회수 842

환경변수에 대해서

미해결

파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기

이상하다 생각했는데 컨트롤이 안되네요 You can list all discoverable environments with conda info --envs . hyeonseongjun-ui-MacBook-Pro:~ hyeonseongjun$ conda info --envs conda environments: # base * /Users/hyeonseongjun/anaconda3 /Users/hyeonseongjun/selenium test /anaconda3 /anaconda3/envs/section2 hyeonseongjun-ui-MacBook-Pro:~ hyeonseongjun$ conda remove --name myenv --all hyeonseongjun-ui-MacBook-Pro:~ hyeonseongjun$ conda info --envs conda environments: # base * /Users/hyeonseongjun/anaconda3 /Users/hyeonseongjun/selenium test /anaconda3 /anaconda3/envs/section2 hyeonseongjun-ui-MacBook-Pro:~ hyeonseongjun$ 활성화가 안되는군요 아나콘다를 오버라이트를 한탓인지 아톰과 연결이 떨어진것 같습니다 하하.. 아톰은 켜지는데 아톰켜면 프로젝트는 따로불러와야되는.. 물론 켜면되지만 못따라가는것 같아서 조금 그렇네요

  • python
  • 웹-크롤링
TV 으악맨 (읅!) 댓글 1 좋아요 0 조회수 319

유니티 최신버전

해결됨

레트로의 유니티 C# 게임 프로그래밍 에센스

지금 유니티5를 쓰고있는데 유니티5으로도 강좌 진행괜찮을까요??

  • unity
  • C#
호잇 댓글 1 좋아요 0 조회수 209

과제제출 해야되는건 아니죠?

미해결

파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기

파이썬 초보라 과제에 심각하게 당황했는데 인프런강좌가 다행이 기한이 무제한이라서 고민할 시간은 충분한것 같아서 심도있게 고민해서 처음부터 쭉 짜봤습니다 생각처럼 잘되서 다행이네요 ㅎㅎㅎ 근데 점프투파이썬을 참고해본결과 open(x,w)에서 나는 열것이다x를 열어서 w쓸것이다 이렇게 이해를 했는데 wb에 대한 내용은 없어서 질문드립니다 wb가 뭘까요

  • 웹-크롤링
  • python
TV 으악맨 (읅!) 댓글 1 좋아요 0 조회수 263

github에서 코드 복사할때

미해결

Firebase 서버를 통한 Android앱 개발 지침서

'''mGoogleSignInClient = GoogleSignIn.getClient(this, gso); ''' Api가 아닌 SignIn 이라는 이름으로 된 코드가 복사되는데 어떻게 해결해야할까요ㅠㅠ

  • android
  • firebase
안다혜 댓글 1 좋아요 0 조회수 295

낙타너무잘그리셨어요

미해결

프로그래밍, 데이터 과학을 위한 파이썬 입문

3:18 낙타 너무귀여워요

  • bigdata
  • python
이응빈 댓글 1 좋아요 0 조회수 145

의문이 나는 부분이 있어 문의 드립니다. 감사합니다.

미해결

프로그래밍, 데이터 과학을 위한 파이썬 입문

def print_ss(a,b,*args): print(a+b) print(*args) print(args) print("sss = {0} , kkk = {1} , ccc = {2}".format(a,b,*args)) print_ss(2,3,5,6,78,8) 이곳에서 3번째줄 print(*args) -> 5,6,78,8 이렇게 출력되는데 5번째줄에서는 sss=2 , kkk=2, ccc=5 로 나옵니다. 예상은 ccc=5,6,78,8 이렇게 나올 줄 알았는데 뭐가 차이가 있나요. 그리고 print(args)는 튜플로 print(*args)은 값을 표기해주는데 그렇게 되는 이유가 궁굼합니다. 감사합니다.

  • bigdata
  • python
김성수 댓글 0 좋아요 0 조회수 152

캐나다 현지 학교 입학

미해결

해외취업 ASP.NET Core 웹개발 기본 강좌

안녕하세요? 처음 말씀하신 캐나다 현지 학교 입학중 1,2년짜리 학교다니라고 하는 것을 Community College 의 Computer Science 전공으로 학교 다니라는 것으로 이해해도 될까요? 감사합니다.

  • ASP.NET-Core
Marcus Aurelius 댓글 1 좋아요 0 조회수 238

실행은 되는데 SyntaxError가 발생합니다.

미해결

Angular 기본과 간단한 To-Do 어플리케이션 만들기

어떻게 어떻게 해서 console.log에 메세지는 찍는데 아래와 같은 에러가 발생합니다. import { greeting } from 'greeting.js' <--Uncaught SyntaxError: Unexpected token import 뭐가 잘못됐는지 모르겠네요?

  • Angular
니캉내캉 댓글 0 좋아요 0 조회수 250

푸시 메시지 추가후 에러 문제

미해결

Firebase 서버를 통한 Android앱 HowlTalk 만들기

안녕하세요 강의 잘 듣고 있습니다 ㅎㅎ 푸쉬 메시지를 추가하고 나서 에러 구문이 생겨 난 것 같은데 어디가 문제인지 잘 모르겠네요 E/FirebaseInstanceId: Token retrieval failed: SERVICE_NOT_AVAILABLE 이 구문이 주기적으로 생성되고 있었습니다. 그리고 추가적으로 database에도 값들이 올라가지 않게 된 것 같네요 ㅠㅠ 순서대로 manifest, messageActivity, signUpActivity 입니다 '''<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=" http://schemas.android.com/apk/res/android " package="com.solive.knuprime031.knurun"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".SplashActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".loginActivity" /> <activity android:name=".signUpActivity" /> <activity android:name=".MainActivity" /> <activity android:name=".chat.MessageActivity" /> <!--<activity android:name=".SignUpActivity" />--> <!--<activity android:name=".RequestCreateActivity" />--> <activity android:name=".RequestCreateActivity"></activity> <service android:name=".MyFirebaseMessagingService"> <intent-filter> <action android:name="com.google.firebase.MESSAGING_EVENT" /> </intent-filter> </service> </application> ''' '''package com.solive.knuprime031.knurun.chat; import android.support.annotation.NonNull; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; import com.bumptech.glide.Glide; import com.bumptech.glide.request.RequestOptions; import com.google.android.gms.tasks.OnCompleteListener; import com.google.android.gms.tasks.OnSuccessListener; import com.google.android.gms.tasks.Task; import com.google.firebase.auth.FirebaseAuth; import com.google.firebase.database.DataSnapshot; import com.google.firebase.database.DatabaseError; import com.google.firebase.database.FirebaseDatabase; import com.google.firebase.database.ServerValue; import com.google.firebase.database.ValueEventListener; import com.google.gson.Gson; import com.solive.knuprime031.knurun.R; import com.solive.knuprime031.knurun.model.ChatModel; import com.solive.knuprime031.knurun.model.NotificationModel; import com.solive.knuprime031.knurun.model.UserModel; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.TimeZone; import okhttp3.Call; import okhttp3.Callback; import okhttp3.MediaType; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; public class MessageActivity extends AppCompatActivity { private String destinationUid; private Button button; private EditText editText; private String uid; private String chatRoomUid; private RecyclerView recyclerView; private SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy.MM.dd HH:mm"); private UserModel destinationUserModel; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_message); uid = FirebaseAuth.getInstance().getCurrentUser().getUid(); destinationUid = getIntent().getStringExtra("destinationUid"); recyclerView = (RecyclerView)findViewById(R.id.messageActivity_recyclerView); button = (Button)findViewById(R.id.messageActivity_button); editText = (EditText)findViewById(R.id.messageActivity_edtiText); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { ChatModel chatModel = new ChatModel(); chatModel.users.put(uid,true); chatModel.users.put(destinationUid, true); if(chatRoomUid == null) { button.setEnabled(false); Toast.makeText(MessageActivity.this, "Success", Toast.LENGTH_SHORT).show(); FirebaseDatabase.getInstance().getReference().child("chatrooms").push().setValue(chatModel).addOnSuccessListener(new OnSuccessListener<Void>() { @Override public void onSuccess(Void aVoid) { checkChatRoom(); } }); } else { ChatModel.Comment comment = new ChatModel.Comment(); comment.uid = uid; comment.message = editText.getText().toString(); comment.timeStamp = ServerValue.TIMESTAMP; FirebaseDatabase.getInstance().getReference().child("chatrooms").child(chatRoomUid).child("comments").push().setValue(comment).addOnCompleteListener(new OnCompleteListener<Void>() { @Override public void onComplete(@NonNull Task<Void> task) { sendGcm(); editText.setText(""); } }); } } }); checkChatRoom(); } void sendGcm() { Gson gson = new Gson(); String userName = FirebaseAuth.getInstance().getCurrentUser().getDisplayName(); NotificationModel notificationModel = new NotificationModel(); notificationModel.to = destinationUserModel.pushToken; notificationModel.notification.text = userName; notificationModel.notification.title = editText.getText().toString(); notificationModel.data.text = userName; notificationModel.data.title = editText.getText().toString(); RequestBody requestBody = RequestBody.create(MediaType.parse("application/json; charset=utp8"), gson.toJson(notificationModel)); Request request = new Request.Builder() .header("Content-Type","application/json") .addHeader("Authorization","key=AIzaSyBNM5T3oCs_4gxClchRYvXbBQHdtCnw5Hc") .url("https://gcm-http.googleapis.com/gcm/send") .post(requestBody) .build(); OkHttpClient okHttpClient = new OkHttpClient(); okHttpClient.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { } }); } void checkChatRoom() { FirebaseDatabase.getInstance().getReference().child("chatrooms").orderByChild("users/"+uid).equalTo(true).addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { for (DataSnapshot item : dataSnapshot.getChildren()) { ChatModel chatModel = item.getValue(ChatModel.class); if(chatModel.users.containsKey(destinationUid)) { chatRoomUid = item.getKey(); button.setEnabled(true); recyclerView.setLayoutManager(new LinearLayoutManager(MessageActivity.this)); recyclerView.setAdapter(new RecyclerViewAdapter()); } } } @Override public void onCancelled(DatabaseError databaseError) { } }); } class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { List<ChatModel.Comment> comments; public RecyclerViewAdapter() { comments = new ArrayList<>(); FirebaseDatabase.getInstance().getReference().child("users").child(destinationUid).addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { destinationUserModel = dataSnapshot.getValue(UserModel.class); getMessageList(); } @Override public void onCancelled(DatabaseError databaseError) { } }); } void getMessageList() { FirebaseDatabase.getInstance().getReference().child("chatrooms").child(chatRoomUid).child("comments").addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { comments.clear(); for (DataSnapshot item : dataSnapshot.getChildren()) { comments.add(item.getValue(ChatModel.Comment.class)); } notifyDataSetChanged(); recyclerView.scrollToPosition(comments.size()-1); } @Override public void onCancelled(DatabaseError databaseError) { } }); } @NonNull @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_message, parent, false); return new MessageViewHolder(view); } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { MessageViewHolder messageViewHolder = ((MessageViewHolder)holder); if(comments.get(position).uid.equals(uid)) { messageViewHolder.textView_message.setText(comments.get(position).message); messageViewHolder.textView_message.setBackgroundResource(R.drawable.rightbubble); messageViewHolder.linearLayout_destination.setVisibility(View.INVISIBLE); messageViewHolder.textView_message.setTextSize(25); messageViewHolder.linearLayout_main.setGravity(Gravity.RIGHT); } else { Glide.with(holder.itemView.getContext()) .load(destinationUserModel.profileImageUrl) .apply(new RequestOptions().circleCrop()) .into(messageViewHolder.imageView_profile); messageViewHolder.textView_name.setText(destinationUserModel.userName); messageViewHolder.linearLayout_destination.setVisibility(View.VISIBLE); messageViewHolder.textView_message.setBackgroundResource(R.drawable.leftbubble); messageViewHolder.textView_message.setText(comments.get(position).message); messageViewHolder.textView_message.setTextSize(25); messageViewHolder.linearLayout_main.setGravity(Gravity.LEFT); } long unixTime = (long)comments.get(position).timeStamp; Date date = new Date(unixTime); simpleDateFormat.setTimeZone(TimeZone.getTimeZone("Asia/Seoul")); String time = simpleDateFormat.format(date); messageViewHolder.textView_time_stamp.setText(time); } @Override public int getItemCount() { return comments.size(); } private class MessageViewHolder extends RecyclerView.ViewHolder { public TextView textView_message; public TextView textView_name; public ImageView imageView_profile; public LinearLayout linearLayout_destination; public LinearLayout linearLayout_main; public TextView textView_time_stamp; public MessageViewHolder(View view) { super(view); textView_message = (TextView) view.findViewById(R.id.messageItem_textView_message); textView_name = (TextView)view.findViewById(R.id.messageItem_textView_name); imageView_profile = (ImageView)view.findViewById(R.id.messageItem_imageView_profile); linearLayout_destination = (LinearLayout)view.findViewById(R.id.messageItem_linearLayout_destinaiton); linearLayout_main = (LinearLayout)view.findViewById(R.id.messageItem_linearLayout_main); textView_time_stamp = (TextView)view.findViewById(R.id.messageItem_textView_timeStamp); } } } @Override public void onBackPressed() { finish(); overridePendingTransition(R.anim.fromleft, R.anim.toright); } } ''' '''package com.solive.knuprime031.knurun; import android.content.Intent; import android.graphics.Color; import android.net.Uri; import android.os.Build; import android.provider.MediaStore; import android.support.annotation.NonNull; import android.support.annotation.RequiresApi; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import android.widget.Toast; import com.google.android.gms.tasks.OnCompleteListener; import com.google.android.gms.tasks.OnSuccessListener; import com.google.android.gms.tasks.Task; import com.google.firebase.auth.AuthResult; import com.google.firebase.auth.FirebaseAuth; import com.google.firebase.auth.UserProfileChangeRequest; import com.google.firebase.database.FirebaseDatabase; import com.google.firebase.remoteconfig.FirebaseRemoteConfig; import com.google.firebase.storage.FirebaseStorage; import com.google.firebase.storage.UploadTask; import com.solive.knuprime031.knurun.model.UserModel; public class signUpActivity extends AppCompatActivity { private EditText email; private EditText name; private EditText password; private Button signup; private String splash_background; private ImageView profile; private Uri imageUri; private static final int PICK_FROM_ALBUM = 10; @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_sign_up); FirebaseRemoteConfig mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance(); splash_background = mFirebaseRemoteConfig.getString(getString(R.string.rc_color)); getWindow().setStatusBarColor(Color.parseColor(splash_background)); profile = (ImageView)findViewById(R.id.signUpActivity_imageView_profile); profile.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(Intent.ACTION_PICK); intent.setType(MediaStore.Images.Media.CONTENT_TYPE); startActivityForResult(intent,PICK_FROM_ALBUM); } }); email = (EditText)findViewById(R.id.signUpActivity_editText_email); name = (EditText)findViewById(R.id.signUpActivity_editText_name); password = (EditText)findViewById(R.id.signUpActivity_editText_password); signup = (Button)findViewById(R.id.signUpActivity_button_signUp); signup.setBackgroundColor(Color.parseColor(splash_background)); signup.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (email.getText().toString() == null || name.getText().toString() == null || password.getText().toString() == null || imageUri == null) { Toast.makeText(signUpActivity.this, "NULL", Toast.LENGTH_SHORT).show(); return; } FirebaseAuth.getInstance(). createUserWithEmailAndPassword(email.getText().toString(), password.getText().toString()) .addOnCompleteListener(signUpActivity.this, new OnCompleteListener<AuthResult>() { public void onComplete(@NonNull Task<AuthResult> task) { final String uid = task.getResult().getUser().getUid(); UserProfileChangeRequest userProfileChangeRequest = new UserProfileChangeRequest.Builder().setDisplayName(name.getText().toString()).build(); task.getResult().getUser().updateProfile(userProfileChangeRequest); FirebaseStorage.getInstance().getReference().child("userImages").child(uid).putFile(imageUri).addOnCompleteListener(new OnCompleteListener<UploadTask.TaskSnapshot>() { public void onComplete(@NonNull Task<UploadTask.TaskSnapshot> task) { @SuppressWarnings("VisibleForTests") String imageUrl = task.getResult().getDownloadUrl().toString(); UserModel userModel = new UserModel(); userModel.userName = name.getText().toString(); userModel.profileImageUrl = imageUrl; userModel.uid = FirebaseAuth.getInstance().getCurrentUser().getUid(); Toast.makeText(signUpActivity.this, "Try", Toast.LENGTH_SHORT).show(); FirebaseDatabase.getInstance().getReference().child("users").child(uid).setValue(userModel).addOnSuccessListener(new OnSuccessListener<Void>() { @Override public void onSuccess(Void aVoid) { signUpActivity.this.finish(); } }); } }); } }); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if(requestCode==PICK_FROM_ALBUM && resultCode==RESULT_OK) { profile.setImageURI(data.getData()); imageUri = data.getData(); } } } '''

  • firebase
  • android
류진용 댓글 2 좋아요 0 조회수 392

인기 태그

인프런 TOP Writers

주간 인기글