android开发6/22记录

来源:互联网 发布:阿里云虚拟主机购买 编辑:程序博客网 时间:2024/06/08 14:10

起标题好麻烦。

开开心心的撸代码了,接着昨天的,web端开户cookie,手机端在进行post请求的时候需要加上cookie,不幸的vollery没有这个功能,苦逼中baidu中。昨天倒是看了一些。嗯,

理了一下过程。应该这个样子处理,在使用webview进行登录,成功后保存接收到的cookie到本地,进行post请求的时候带上这个cookie。嗯,没错就是这个样子。

1.在webview进行网页加载的时候,获取cookie的值,并进行保存为全局变量,没错。后面再进行post请求的时候带上这个cookies就可以了

public void onPageFinished(WebView view, String url){    /*获取cookie的值*/    CookieManager cookieManager = CookieManager.getInstance();    String CookieStr = cookieManager.getCookie(url);    LogUtil.d("jump", "Cookies = " + CookieStr);    progressDialog.dismiss();    super.onPageFinished(view, url);}
然后再进行vollery的post请求时带上cookie

@Overridepublic Map<String, String> getHeaders() throws AuthFailureError{    HashMap localHashMap = new HashMap();    localHashMap.put("Cookie", EzvizApplication.getInstance().getCookie());//向请求头部添加Cookie    return localHashMap;}
可以了,可是听那边的工程师说好像这个样子不可以,cookie是不可以进行本地存储的。会有安全问题,唉。。。。。。先把功能调试通过吧

2。在activity显示时上部出现标题栏,现在需要进行全屏显示,注意的是标题栏的去年一定要在setContentView()语句之前。没错,是这个样子

this.requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏setContentView(R.layout.activity_addmachine);
好了,现在可以休息一会了,web端出现了一些小问题,我的迷瞪一会了。。。。。。。。

3.现在要开始解决一个大问题了,就是webview进行goback的时候,不可以回退到登录页面,这个找找资料先。。解决了

在doUpdateVisitedHistory()方法当中调用clearHistory()方法可以将之前的历史进行清除,好像只有在这个方法当中调用才可以,不太明白,这里加了一个判断条件,如果

当前的url是数据显示列表,说明前一个页面是登录页面,清除就可以了,if()里面是进行清除的判断条件,没错。但是如果开启cookie的话,直接登录也是没有影响,本来就没有登录页面。

@Overridepublic void doUpdateVisitedHistory(WebView webView, String s, boolean b){    /*在本方法当中,如果当前的页面是设备列表,则清除之前记录    * 是为了webview进行goback()的时候不能回退到登录页面*/    if (s.equals(UrlBean.getMachineInfo()))    {        webView.clearHistory();    }}

貌似也可以,哈哈,今天是什么情况,下雨天状态特别好啊,哈哈,想来还是之前的那个想法是正确的,别三心两意,如果这段时间需要做android应用就安安心心的做这个,别再想些其它的东西。没错,这会我这边的问题差不多了,web那边在忙着改东西,哈哈,好吧,现在看一下java中关于super()的用法 。。

感觉一会半会web那边是调整不好了,哈哈,迷瞪会。

下午了,对面调整的差不多了,功能上基本上都实现了,后面就是UI的美化了

4.还有一个问题就webview每次进行goback的时候需要进行bottom的显示和隐藏,但是不知道URL不知道怎么进行判断 度娘中。。。。webview加载过的所有页面都会保存到一个列表当中,得到这个列表后,就可以取得对应的url,然后就可以为所欲为了,哈哈

http://blog.csdn.net/sinat_35670989/article/details/71077716文章中写的方法刚好

5.需要用到一个小方法java当中判断一个字符串当中是含有另一个字符串,方法s.contains(str).如果含有则为true,否则为false

if(url.contains(UrlBean.getDataDetail()))    hideBottom();

6.当屏幕进行旋转的时候会出现重新加载activity的情况,出现各种各样的bug,决定设置为应用不可以旋转,只能竖屏,在androidManifest.xml文件当中设置activity的属性

发现在这里studio没办法进行提示,不知道是不赞同这种做法,还是其它的,但是验证这种方法可行。

<activity    android:name=".ConnectWifi"    android:screenOrientation="portrait">

又一天过去了,真快。。。

原创粉丝点击