Загрузка данных


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();
    }
}
__________________________