Coderoid
Pokaż całą klasę (pod warunkiem że nie ma 500 linijek kodu). Jeśli jednak Twój projekt jest słabo czytelny to proponuje wrzucić kod na githuba lub bitbucketa.
Projekt zawiera też inne elementy (zbędne), jednak wklejam całość.
Najważniejszy temat FTP.
MainActivity.java
package com.example.aa.testowa1;
import android.content.DialogInterface;
import android.content.Intent;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MenuInflater;
import android.view.View;
import android.view.MenuItem;
import android.view.Menu;
import android.widget.TextView;
import android.widget.EditText;
import android.widget.Button;
import android.view.ContextMenu;
import java.util.Calendar;
import java.util.TimeZone;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//data i godzina pokazuje samemu
int r, m, d, h, min, s;
Calendar c = Calendar.getInstance();
r = c.get(Calendar.YEAR);
m = c.get(Calendar.MONTH) + 1;
d = c.get(Calendar.DAY_OF_MONTH);
h = c.get(Calendar.HOUR_OF_DAY);
min = c.get(Calendar.MINUTE);
s = c.get(Calendar.SECOND);
TextView d_txt = (TextView) findViewById(R.id.textView1);
d_txt.setText(r + " - " + m + " - " + d);
TextView t_txt = (TextView) findViewById(R.id.textView2);
t_txt.setText(h + " : " + min + " : " + s);
//menu kontekstowe do button4
Button button = (Button) findViewById(R.id.button4);
registerForContextMenu(button);
}
//dodajemy menu
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
{
//pliki z serwera
String ftpUrl = "ftp://%s:%s@%s/%s;type=d";
String host = "...";
String user = "...";
String pass = "...";
String dirPath = "/";
ftpUrl = String.format(ftpUrl, user, pass, host, dirPath);
try {
URL url = new URL(ftpUrl);
URLConnection conn = url.openConnection();
InputStream inputStream = conn.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line = null;
while ((line = reader.readLine()) != null) {
System.out.println(line);
} inputStream.close();
} catch(IOException ex){
ex.printStackTrace();
}}
//menu kontekstowe
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_kontekst, menu);
}
//przenosi tekst do drugiej aktynwosci
public void LadujDrugaAktywnosc(View view){
Intent intent = new Intent(MainActivity.this, DrugaAktywnosc.class);
EditText editText = (EditText) findViewById(R.id.editText2);
String message = editText.getText().toString();
intent.putExtra("textmessaege", message);
startActivity(intent);
}
//wyłącza aplikację
public void kliknieto(View v)
{
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setMessage("Czy na pewno zakończyć?");
builder.setCancelable(true);
builder.setPositiveButton("Tak", new DialogInterface.OnClickListener() {
@Override
//CO ROBI GDY TAK
public void onClick(DialogInterface dialog, int which) {
MainActivity.this.finish();
}
});
builder.setNegativeButton("Nie", new DialogInterface.OnClickListener() {
@Override
//co robi gdy nie
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
AlertDialog alert1 = builder.create();
alert1.show();
}
}
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.aa.testowa1.MainActivity">
<LinearLayout
android:layout_width="0dp"
android:layout_height="500dp"
android:layout_weight="1"
android:orientation="vertical"
android:weightSum="1"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
tools:layout_editor_absoluteY="8dp">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/button2"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"
android:text="Data"
android:textColor="#ffa000"
android:textSize="40dp"
android:textStyle="bold" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"
android:text="Godzina"
android:textColor="#ffa000"
android:textSize="40dp"
android:textStyle="bold" />
<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:ems="10"
android:inputType="textPersonName"
android:text="Name"
android:layout_weight="0.24" />
<Button
android:id="@+id/button"
android:layout_width="327dp"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/editText2"
android:layout_marginTop="46dp"
android:layout_toLeftOf="@+id/button3"
android:layout_toStartOf="@+id/button3"
android:onClick="LadujDrugaAktywnosc"
android:text="Przejdz" />
<Button
android:id="@+id/button3"
android:layout_width="327dp"
android:layout_height="26dp"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="11dp"
android:layout_marginEnd="13dp"
android:layout_marginRight="13dp"
android:layout_weight="0.08"
android:onClick="kliknieto"
android:text="Zakończ"
tools:layout_editor_absoluteX="121dp"
tools:layout_editor_absoluteY="270dp" />
<Button
android:id="@+id/button4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
</android.support.constraint.ConstraintLayout>
Manifest
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.aa.testowa1">
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<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=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".DrugaAktywnosc"></activity>
</application>
</manifest>