private String createDurationText(intduration) {
int hour = duration / 3600;
duration -= hour * 3600;
int min = duration / 60;
duration -= min * 60;
int sec = duration;
if (hour > 0) {
return String.format(Locale.ENGLISH, "%d:%02d:%02d", hour,
min, sec);
} else if (min > 0) {
return String.format(Locale.ENGLISH, "%02d:%02d", min,
sec);
} else {
return String.format(Locale.ENGLISH, "0:%02d", sec);
}
}
x
9.
static String createDurationText(intduration) {
int hour = duration / 3600;
duration -= hour * 3600;
int min = duration / 60;
duration -= min * 60;
int sec = duration;
if (hour > 0) {
return String.format(Locale.ENGLISH, "%d:%02d:%02d", hour,
min, sec);
} else if (min > 0) {
return String.format(Locale.ENGLISH, "%02d:%02d", min,
sec);
} else {
return String.format(Locale.ENGLISH, "0:%02d", sec);
}
}
o
10.
@Test
public void durationTextTest(){
assertEquals("1:24:32", MyCustomView.createDurationText(3600 +
24 * 60 + 32));
assertEquals("01:32", MyCustomView.createDurationText(60 +
32));
assertEquals("0:32", MyCustomView.createDurationText(32));
}
o
11.
private static StringTAG = "MainActivity";
x
private static final String TAG = "MainActivity";
o
12.
public class MyCustomViewextends View {
private int minHeight;
public MyCustomView(Context context) {
super(context);
init();
}
public MyCustomView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public MyCustomView(Context context, AttributeSet attrs, int
defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init() {
minHeight = 10;
}
x
13.
public class MyCustomViewextends View {
private final int minHeight;
public MyCustomView(Context context) {
this(context, null);
}
public MyCustomView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public MyCustomView(Context context, AttributeSet attrs, int
defStyleAttr) {
super(context, attrs, defStyleAttr);
minHeight = 10;
}
o
15.
/**
* Created byyanzm on 2016/08/07.
*/
public class MainActivity extends AppCompatActivity {
x
/**
* ホーム画面
*
* ランチャーから起動される。
* 最初にトークンがローカルに保存されているか確認し、
* 保存されていない場合はログイン画面に遷移する。
*/
public class MainActivity extends AppCompatActivity {
o
x
public interface MyInterface{
/**
* 再生時間を返す
*
* @param id 動画のID
* @return 秒
*/
int getDuration(String id);
}
o
public interface MyInterface {
int getDuration(String id);
}
x public interfaceMyInterface {
/**
* …
*/
int getDuration(String id);
}
o public interface MyInterface {
/**
* …
*/
int getDuration(@NonNull String id);
}
20.
public class IconUtils{
/**
* 対応する画像リソースを返す
*
* @param type アイコンのタイプ
* @return 画像リソース
*/
@DrawableRes
public static int getIconResId(@NonNull IconType type) {
…
}
}
o
21.
x public interfaceProfileService {
Profile getProfile(String userId);
}
o public interface ProfileService {
@WorkerThread
Profile getProfile(@NonNull String userId);
}
ArrayAdapter adapter =new ArrayAdapter(this,
android.R.layout.simple_list_item_1);
x
ArrayAdapter<String> adapter = new ArrayAdapter<>(this,
android.R.layout.simple_list_item_1);
o
final DisplayMetrics metrics= getResources()
.getDisplayMetrics();
final int widthPixels = metrics.widthPixels;
final int heightPixels = metrics.heightPixels;
final float density = metrics.density;