Загрузка данных
36
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.SEND_SMS" />
______________________________
// MainActivity.java
public class MainActivity extends AppCompatActivity {
String num = "88005553535";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.btnCall).setOnClickListener(v -> checkAndAct(Manifest.permission.CALL_PHONE, 1));
findViewById(R.id.btnSms).setOnClickListener(v -> checkAndAct(Manifest.permission.SEND_SMS, 2));
}
void checkAndAct(String p, int code) {
if (ContextCompat.checkSelfPermission(this, p) == 0) {
if (code == 1) startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + num)));
else SmsManager.getDefault().sendTextMessage(num, null, "SMS", null, null);
} else {
ActivityCompat.requestPermissions(this, new String[]{p}, code);
}
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (grantResults.length > 0 && grantResults[0] == 0) Toast.makeText(this, "Ok", 0).show();
}
}
&&&&&&&&&&&&&&&&&&&&&&&&&&
37
public class CustomView extends View {
Paint paint = new Paint();
public CustomView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
paint.setColor(Color.BLUE);
canvas.drawCircle(300, 300, 150, paint);
paint.setColor(Color.RED);
canvas.drawRect(100, 500, 500, 800, paint);
}
}
________________________________
<com.example.app.CustomView
android:layout_width="match_parent"
android:layout_height="match_parent" />
________________________________
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new CustomView(this, null));
}
}
&&&&&&&&&&&&&&&&&&&&&&&&&&
38
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
______________________________
// MainActivity.java
public class MainActivity extends AppCompatActivity {
MediaRecorder recorder;
MediaPlayer player;
String path;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
path = getExternalCacheDir().getAbsolutePath() + "/test.3gp";
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.RECORD_AUDIO}, 0);
findViewById(R.id.btnPhoto).setOnClickListener(v ->
startActivityForResult(new Intent(MediaStore.ACTION_IMAGE_CAPTURE), 1));
findViewById(R.id.btnRec).setOnClickListener(v -> startRec());
findViewById(R.id.btnStop).setOnClickListener(v -> stopRec());
findViewById(R.id.btnPlay).setOnClickListener(v -> playAudio());
}
void startRec() {
recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(path);
try { recorder.prepare(); recorder.start(); } catch (Exception e) {}
}
void stopRec() {
if (recorder != null) { recorder.stop(); recorder.release(); recorder = null; }
}
void playAudio() {
player = new MediaPlayer();
try { player.setDataSource(path); player.prepare(); player.start(); } catch (Exception e) {}
}
}
________________________________
39
<uses-permission android:name="android.permission.INTERNET" />
________________________________
// MainActivity.java
public class MainActivity extends AppCompatActivity {
TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = findViewById(R.id.textView);
new Thread(() -> {
String result;
try {
HttpURLConnection conn = (HttpURLConnection) new URL("https://jsonplaceholder.typicode.com/posts/1").openConnection();
conn.setRequestMethod("GET");
int code = conn.getResponseCode();
if (code == 200) {
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuilder sb = new StringBuilder();
String line;
while ((line = br.readLine()) != null) sb.append(line);
result = sb.toString();
} else {
result = "Error: " + code;
}
conn.disconnect();
} catch (Exception e) {
result = "Exception: " + e.getMessage();
}
String finalRes = result;
runOnUiThread(() -> tv.setText(finalRes));
}).start();
}
}
________________________________
40
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" /> ```
```java
// MainActivity.java
public class MainActivity extends AppCompatActivity {
BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (adapter == null) return;
// Включение
if (!adapter.isEnabled()) {
startActivityForResult(new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE), 1);
}
// Список сопряженных устройств
Set<BluetoothDevice> devices = adapter.getBondedDevices();
for (BluetoothDevice device : devices) {
Log.d("BT", device.getName() + ": " + device.getAddress());
if (device.getName().equals("MyTargetDevice")) connect(device);
}
}
void connect(BluetoothDevice device) {
new Thread(() -> {
try {
// Стандартный UUID для SPP
BluetoothSocket socket = device.createRfcommSocketToServiceRecord(UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"));
socket.connect();
OutputStream out = socket.getOutputStream();
out.write("Hello".getBytes());
socket.close();
} catch (Exception e) { e.printStackTrace(); }
}).start();
}
}
__________________________