-
Android 2017‧11‧14
안드로이드 Socket.io 소켓통신 하기
서버쪽이 이미 구성되어 있다는 가정으로 정리한 코드이다. 일단 안드로이드 스튜디오에서 socket.io 를 추가한다. 모듈로 추가하는 방법은 http://bongsunga.com/blog/3640 여기에 써 놓았다. 그럼 본격적으로 코드를 작성한다. AndroidManifest.xml 안에 <manifest> 안에 아래 코드를 넣어준다. <uses-permission android:name="android.permission.INTERNET" /> 아래 코드들을 MainActivity.java 에 작성하는 코드이다. 상단에 임포트 코드를 넣어준다. import com.github.nkzawa.emitter.Emitter; import com.github.nkzawa.socketio.client.IO; import com.github.nkzawa.socketio.client.Socket; 그런 후에 public class MainActivity extends […]
-
Android 2017‧11‧14
내부 저장소 파일 경로 사용하기
스마트폰을 PC에 연결하여 윈도우 탐색기에서 스마트폰의 내부 저장소에 파일을 넣어두고, 어플리케이션에서 해당 파일을 재생하거나 불러올 때 내부 저장소 경로는 아래와 같이 불러온다. Uri video = Uri.parse(Environment.getExternalStorageDirectory() + "파일명"); 혹은 폴더안에 넣어놓아서 폴더안의 영상을 불러오려면 아래 예제처럼 불러와도 된다. Uri video = Uri.parse(Environment.getExternalStorageDirectory() + "/DCIM/intro.mp4"); 안드로이드 업데이트 이 후로 위 코드만으로 제대로 불러와지지 않으면 아래 포스팅을 […]
-
Android 2017‧11‧08
SurfaceView를 이용한 비디오 플레이어 만들기 코드
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <SurfaceView android:id="@+id/surfaceView1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> In the MainAcitivity class, in the onCreate method, you write code to create a reference to SurfaceView, get the surface holder, add Callback interface to the holder, and create MediaPlayer instance. In the onSurfaceCreate method (you need […]
-
Android 2017‧11‧08
음악 플레이 리스트 만들기 (MediaPlayer)
배열에 음악 파일을 add를 통해서 넣고 리스트를 만든다. 아래 코드는 stackoverflow에 있는 해당 코드를 그대로 가져왔다. 코드를 참고해서 만들면 될 듯 하다. import android.media.MediaPlayer; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.Menu; import android.view.MenuItem; import java.util.ArrayList; import java.util.Timer; import java.util.TimerTask; public class MainActivity extends AppCompatActivity { Timer timer; MediaPlayer mp; ArrayList<Integer> playlist; int i=0; @Override protected void […]
-
Android 2017‧11‧08
surfaceHolder.addCallback(this); 에 this 안 먹힐 때
아마 미디어 파일 중에 동영상을 띄우려고 surfaceView를 쓰는 경우에 surfaceHolder.addCallback(this); 이 코드를 넣어서 만드는 경우가 있을 것이다. 이 때 this가 오류가 나고 마우스를 올리면 오류 내용에 'addCallback (android.view.SurfaceHolder.Callback) in SurfaceHolder cannot be applied to~~~~' 라고 써있을 것이다. 코드 중에 mainActivity 를 감싼 부분을 찾아서 implements SurfaceHolder.Callback 을 뒤에 써준다. public class MainActivity extends AppCompatActivity implements SurfaceHolder.Callback { 이렇게 […]
-
Android 2017‧11‧08
안드로이드 스튜디오에 모듈,라이브러리 추가하기
soket.io 와 같은 라이브러리 추가할 때 com.github.nkzawa:socket.io-client:0.3.0 이렇게 제공하는데 이를 안드로이드 스튜디오에서 추가할 때는 File -> Project Structure 클릭하면 Project Structure 창이 뜬다. 위에 이미지를 참고해서 왼쪽에 App 클릭 -> Dependencies 탭 선택 -> 우측에 + 버튼에 com.github.nkzawa:socket.io-client:0.3.0 를 붙여넣기 해주면 된다.
-
Android 2017‧11‧07
오브젝트값을 문자열로 변환하여 변수에 담기
String textValue = String.valueOf(Object); 가끔 전달 받은 값이 Object 형식이라 swich case를 사용할 때 텍스트로 바꿔서 구분하려고 이용하는 편이다.
-
Android 2017‧11‧07
가로 모드(또는 세로 모드)로 가는 회전 막기
mainfests 폴더 안에 AndroidMainfest.xml이 있을 것임. 그 안에 <activity android:name = ".~~~"></activity> 노드가 있는데 세로 모드만 할 경우 android:screenOrientation="portrait" 속성을 추가해주면 된다. <activity android:name=".MainActivity" android:label="@string/app_name" android:screenOrientation="portrait"> </activity> 가로 모드만 할 경우 android:screenOrientation="landscape" 라고 넣어주면 된다.
-
Android 2017‧11‧02
진동 Vibrator 기능 추가
AndroidManifest.xml에 진동 권한 추가 넣기 아래 코드를 <manifest></manifest> 안에 추가해 준다. <uses-permission android:name = "android.permission.VIBRATE"/> .java 파일에 진동에 관한 코드를 넣는데 먼저 상단 부분에 진동 기능 import 해준다. context를 넣은 건 저~ 아래 진동 코드에 쓰이는 클래스임. import android.os.Vibrator; import android.content.Context; 그런 후에 버튼 같은 곳에 아래 코드를 추가해서 클릭하면 진동이 일어나게 한다. Vibrator […]