1. 我在公司遇到要求开发新客户,需要做项目,我该怎么做开发的
2. 准备工作:找到自己带有源代码(客户端)来写开发,跟同事写C#服务器,要多多交流
3.发送服务器保存到数据库(SQL Server)可以查看
4. 我的源代码这是最重要的,暂时只需要开发新客户,这源代码:客户端与服务器的连接,大多数是发送/更新/获取服务器数据库,尤其是用json
5.我的源代码↓↓↓有下载链接
1.实现登录如下,输入用户名和密码二个数据发送iis服务器保存到数据库,注意:不是登录,就是因为我想把二个数据发送iis服务器保存数据库,我暂时没改代码,你可以自己改代码哦
2.做的项目如下:
3.activity_main.xml,布局代码如下:
......
<EditText
android:id="@+id/et\_user\_name"
android:layout\_width="match\_parent"
android:layout\_height="wrap\_content"
android:hint="请输入用户名"
android:textSize="15dp" />
<EditText
android:id="@+id/et\_password"
android:layout\_width="match\_parent"
android:layout\_height="wrap\_content"
android:hint="请输入密码"
android:textSize="15dp" />
<Button
android:layout\_width="match\_parent"
android:layout\_height="wrap\_content"
android:onClick="btn"
android:text="连接IIS服务器"/>
......
4.AppConfig.java,客户端的本地ip地址,代码如下:
......
public static final String BASE_URL = "http://xxx.xxx.x.xxx:xxxx/Handler1.ashx/";
......
5.在app的build.gradle中需要添加依赖包,代码如下:
//\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*Retrofit\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*//
compile 'com.squareup.retrofit2:retrofit:2.3.0'
compile 'com.squareup.retrofit2:converter-gson:2.3.0'
compile 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'
//\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*OkHttp\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*//
compile 'com.squareup.okhttp3:okhttp:3.4.1'
compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'
//\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*RxJava\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*//
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'io.reactivex.rxjava2:rxjava:2.1.7'
compile 'com.jakewharton.rxrelay2:rxrelay:2.0.0'
6.MainActivity.java,代码如下,注意:不是登录(login),就是把username和password二个数据发送iis服务器保存数据库而已,我暂时没改代码,你可以自己改代码哦
public void btn(View view){
final String username = userNameEt.getText().toString().trim();
final String password = passwordEt.getText().toString().trim();
RetrofitUtil.provideRetrofit(OkHttpUtil.instance().getClient(), AppConfig.Url.BASE_URL)
.create(DataService.class).login(username, password)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<HttpResponse<TicketAuth>>() //Observer:观察者
{
@Override
public void onSubscribe(Disposable d) {//Disposable是一个接口,onSubscribe:订阅
//这是请求服务器等回应的时候提示:正在加载中
// dialog = DialogUtil.createLoadingDefault(LoginActivity.this, "正在加载");
// dialog.show();
}
@Override
public void onNext(HttpResponse<TicketAuth> resData)
{
//请求服务器等到回应,回应了可以获取服务器的数据库
// dialog.dismiss();
if (resData.getCode() == AppConfig.RESPONSE_OK) {
final TicketAuth auth = resData.getData();
auth.setUsername(username);
auth.setPassword(password);
}
}
@Override
public void onError(Throwable e) {//Throwable:可抛出
//请求服务器回应,回应不了会提示:连接服务器失败
// dialog.dismiss();
e.printStackTrace();
}
@Override
public void onComplete() {
}
});
}
......
7.RetrofitUtil.java,客户端连接服务器,代码如下:
......
public static Retrofit provideRetrofit(OkHttpClient client,String baseUrl) {
Retrofit retrofit = new Retrofit.Builder()//retrofit:改造
.client(client)
.baseUrl(baseUrl)
.addCallAdapterFactory(RxJava2CallAdapterFactory.create()) // 添加Rx适配器
.addConverterFactory(GsonConverterFactory.create()) // 添加Gson转换器
.build();
return retrofit;
}
# 文末
**不管怎么样,不论是什么样的大小面试,要想不被面试官虐的不要不要的,只有刷爆面试题题做好全面的准备,当然除了这个还需要在平时把自己的基础打扎实,这样不论面试官怎么样一个知识点里往死里凿,你也能应付如流啊~**
小编将自己6年以来的**面试经验和学习笔记**都整理成了一个**937页的PDF,**以及我学习进阶过程中看过的一些优质视频教程。**上传在我的GitHub中:[Android架构视频+BATJ面试专题PDF+学习笔记](https://github.com/a120464/Android-P7/blob/master/Android%E5%BC%80%E5%8F%91%E4%B8%8D%E4%BC%9A%E8%BF%99%E4%BA%9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)**请君自取,无偿分享!

其实看到身边很多朋友抱怨自己的工资很低,包括笔者也是一样的,其原因是在面试过程中没有给面试官一个很好的答案。所以笔者会持续更新面试过程中遇到的问题,也希望大家和笔者一起进步,一起学习。