使用Retrofit

时间:2016-10-08 22:29:58

标签: java android retrofit

我是不久前开始编程的初学者。 我刚开始使用Java和Android工作室,我陷入了一个需要从http服务器发送和接收数据的项目中。 我被告知Retrofit是要走的路,但我无法接收数据(老实说,我不知道从哪里开始)。

但是,我实现了向服务器发送数据(字符串和int),这是我使用的代码。

我为自己的错误和缺乏经验而道歉。提前谢谢。

改造:https://square.github.io/retrofit/

主要

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        try {
            Button button = (Button)findViewById(R.id.button);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    final TextView hora  = (TextView) findViewById(R.id.hora);
                    final int sharehora = Integer.valueOf(hora.getText().toString());
                    final TextView missatge  = (TextView) findViewById(R.id.text);
                    final String shareMissatge = missatge.getText().toString();
                    Retrofit retrofit = new Retrofit.Builder()
                            .baseUrl("http://www.google.com/")
                            .addConverterFactory(GsonConverterFactory.create())
                            .build();
                    CostumBody costumBody = new CostumBody();
                    costumBody.setMsg(shareMissatge);
                    costumBody.setTime(sharehora);
                    giapi service = retrofit.create(giapi.class);
                    service.Calltomyserver(costumBody);
    
                }
            });
        }
        catch(Exception ex){
            Log.e("error!", String.valueOf(ex.getMessage()));
        }
    }
}

GIAPI

public interface giapi {
    @POST("/")
    Call<Void> Calltomyserver (@Body CostumBody user);
}

custumbody

public class CostumBody {
    public String msg;
    public int time;

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public int getTime() {
        return time;
    }

    public void setTime(int time) {
        this.time = time;
    }
}

1 个答案:

答案 0 :(得分:0)

好吧,我使用凌空,老实说,不知道为什么。但无论如何都不好帮忙!安装volley非常简单,只需添加

  

compile&#39; com.mcxiaoke.volley:library-aar:1.0.0&#39;

到你的应用程序gradle。那么你想从数据库中检索数据?并将数据发送到数据库?

  

第1步

设置您的服务器和数据库

制作一个php文件,将您想要的任何内容发送到数据库。

  

第2步

将数据库转换为json。 你可以找到一个好的教程here!

  

第3步

你需要通过你的android项目解析json。 如果要将其打印到列表视图,可以找到教程/示例here 如果你只是想存储数据,只需将它解析为列表视图即可! ......

<强> OKAY ...

将数据发送到数据库,请点击此视频:

  

如何使用PHP,MySQL连接Android - 最佳Android Studio教程。

(youtube)...

希望这有帮助!