Giter Club home page Giter Club logo

kjframeforandroid's People

Contributors

erhu avatar kymjs avatar ravidsrk avatar twiceyuan avatar zextreme avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kjframeforandroid's Issues

框架很好,只是当初设计BindView时怎么不参考afinal的ViewInject方法

 //无需调用findViewById和setOnclickListener等
    @ViewInject(id=R.id.button,click="btnClick") Button button;

    public void btnClick(View v){
       textView.setText("text set form button");
    }

现在widgetClick(View v) 所有点击 事件都需要在这里面进行switch判断 ,感觉没有afinal click="method" 这么干净清爽。个人意见..加油

onDestroy无法回调

测了例子程序,不能设置返回键弹出对话框,已在各种地方调用setBackListener(),都无效。
然后 onDestroy无法回调,看关闭对话框是调用各个actiity的finish方法,不能回调?
ps:
onDestroy是KJActivityManager中AppExit(),Runtime.getRuntime().exit(0);去除就有onDestroy的回调了
但是返回对话框还是没搞掉

使用IntelliJ IDEA编译运行Example时报错

Error:(132, 17) java: 无法将类 org.kymjs.kjframe.http.core.KJAsyncTask<Params,Progress,Result>中的方法 execute应用到给定类型;
需要: capture#1, 共 ?[]
找到: 没有参数
原因: 形式 varargs 元素类型capture#1, 共 ?无法从 类 org.kymjs.kjframe.http.core.BarrierExecutor 进行访问

在使用SDK版本为19编译的时候。编译不通过,报了上面的Error,不知道是什么问题。

关于混淆的问题

混淆的时候已经加入
-keepattributes Annotation
-keep class * extends java.lang.annotation.Annotation { *; }
还是不能绑定控件

关于KJHttp实现的一个问题

我看了下你的KJHttp这个类的实现,当这个类实例化的时候,启动了两个线程,一个是去读取cacheQueue来做分发,另一个去读取networkQueue来做分发,NetworkDispatcher没有问题,请求完成之后,判断这个请求是否已经被标记为delivered,因为有可能这个请求已经在cacheQueue中被处理了。但是反过来,CacheDispatcher并没有类似的处理,一般情况下,当然CacheDispatcher处理要比NetworkDispatcher要快,所以不用这个也问题不大,但是是否存在某些特殊情况,导致CacheDispatcher处理慢于NetworkDispatcher,这种情况下,是否会出现两次请求返回?

方法名拼写错误

KJLoger.java 第一个方法名(Line 32)单词拼写错误, debug 写成了 debut (openDebutLog).

KJframe http cookie 获取

我想询问下如何使用Kjframe的API去获取cookie中的sessionId呢?或者是我们能否获知服务器返回的HttpResponse来查询是否有“Set-Cookie”字段以便下次请求的带上新的Cookie

图片缓存改进的个人愚见

图片缓存那块,config 配置图片的默认宽高觉得没不太好,universal-imageloader是根据传入的imageview控件能显示的宽高来设置图片缩放的宽高,这样做更好些,可以避免设置的默认的宽和高大于当前控件能显示的宽高,避免浪费内存

使用KJHTTP报access to class not allowed错误

09-15 10:19:05.415: W/System.err(20955): java.lang.IllegalAccessException: access to class not allowed
09-15 10:19:05.415: W/System.err(20955): at java.lang.Class.newInstanceImpl(Native Method)
09-15 10:19:05.415: W/System.err(20955): at java.lang.Class.newInstance(Class.java:1319)
09-15 10:19:05.415: W/System.err(20955): at org.kymjs.aframe.database.CursorHelper.getEntity(CursorHelper.java:56)
09-15 10:19:05.415: W/System.err(20955): at org.kymjs.aframe.database.KJDB.findAllBySql(KJDB.java:650)
09-15 10:19:05.415: W/System.err(20955): at org.kymjs.aframe.database.KJDB.findAllByWhere(KJDB.java:616)
09-15 10:19:05.415: W/System.err(20955): at org.kymjs.aframe.http.cache.HttpCache.getCacheBean(HttpCache.java:148)
09-15 10:19:05.415: W/System.err(20955): at org.kymjs.aframe.http.cache.HttpCache.add(HttpCache.java:80)
09-15 10:19:05.415: W/System.err(20955): at org.kymjs.aframe.http.KJHttp$HttpUrlPostTask.onPostExecute(KJHttp.java:470)
09-15 10:19:05.415: W/System.err(20955): at org.kymjs.aframe.core.KJTaskExecutor.finish(KJTaskExecutor.java:332)
09-15 10:19:05.415: W/System.err(20955): at org.kymjs.aframe.core.KJTaskExecutor.access$0(KJTaskExecutor.java:328)
09-15 10:19:05.415: W/System.err(20955): at org.kymjs.aframe.core.KJTaskExecutor$InternalHandler.handleMessage(KJTaskExecutor.java:416)
09-15 10:19:05.415: W/System.err(20955): at android.os.Handler.dispatchMessage(Handler.java:107)
09-15 10:19:05.416: W/System.err(20955): at android.os.Looper.loop(Looper.java:194)
09-15 10:19:05.416: W/System.err(20955): at android.app.ActivityThread.main(ActivityThread.java:5463)
09-15 10:19:05.416: W/System.err(20955): at java.lang.reflect.Method.invokeNative(Native Method)
09-15 10:19:05.416: W/System.err(20955): at java.lang.reflect.Method.invoke(Method.java:525)
09-15 10:19:05.416: W/System.err(20955): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:854)
09-15 10:19:05.416: W/System.err(20955): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:621)
09-15 10:19:05.416: W/System.err(20955): at dalvik.system.NativeStart.main(Native Method)

PS: 虽然报了这个错,但不影响程序运行,不知是什么情况.

请问一个问题

在使用HttpCache的时候报错 java.lang.NullPointerException: Activity stack is Null,具体是什么情况呢?

文件下载功能锁库

文件下载第一次成功,然后再次下载同名文件时就提示出错了:android.database.sqlite.SQLiteDatabaseLockedException: database is locked。
/.../databases/kjLibraryDownload.db 数据库被锁。

代码就是 readme.md 中的 多线程下载方法示例

从网络加载完图片后,没有调用config的callback回调函数。

从代码可以看到,只在内存缓存中已有图片时,才调用了 doSuccessCallBack(imageView);
从网络加载图片时,并没有调用 doSuccessCallBack(imageView); 或者 config.callBack.imgLoadSuccess(imageView);

image

(从 KJBitmap.java 第381行开始:)

    private void doDisplay(View imageView, String imageUrl,
            Bitmap loadingBitmap, int width, int height) {
        doLoadCallBack(imageView);
        Bitmap cacheBmp = getBitmapFromCache(imageUrl);
        if (cacheBmp != null) {
            cacheBmp = BitmapHelper.scaleWithWH(cacheBmp, width,
                    height);
            // 内存缓存中已有图片
            viewSetImage(imageView, cacheBmp); // 设置控件显示图片
            doSuccessCallBack(imageView); // 图片加载成功时的回调
            showLogIfOpen("download success, from memory cache\n"
                    + imageUrl);
        } else {
            disPlayFromNet(imageView, imageUrl, loadingBitmap, width,
                    height);
        }
    }

文件上传进度问题

在HttpCallBack内只有一个onLoading()的回调方法,该方法就只在文件下载时才会被回调,调用哪个方法如何才能实现文件上传的进度。

抱歉,OneToMany和ManyToOne能用吗?

感觉TableInfo里面反射解析表结构的逻辑和实例中给出的Parent和Child的注释用法完全匹配不上啊,怎么实现一对多关系的保存?OneToMany和ManyToOne的属性是怎么和XXLazyLoader扯上关系的?

error: cannot find symbol class HttpResponse

Android M上似乎移除了apache包的很多东西(不是配置问题,source中已经找不到相关内容了),KJFrame在使用API 23编译时,已经无法编译通过了。
报错信息:
error: cannot find symbol class HttpResponse
error: cannot find symbol class Header
error: cannot find symbol class HttpEntity

默认的超时时间测试感觉一直变,貌似不能修改连接超时

HttpConfig httpconfig = new HttpConfig();
httpconfig.cacheTime = 0;
httpconfig.TIMEOUT=1000;
KJHttp kjh = new KJHttp(httpconfig);
HttpParams params = new HttpParams();
params.putJsonParams(MerchanDetailEditMerchantPictureJson.Create(shop_id, merchantId, base64Data));
httpconfig.TIMEOUT这个参数应该设置的超时连接吧。要是是的话。它的单位是s还是ms。

关于图片加载缓存 问题

/**
* @param maxSize
* the maximum size of the cache before returning. May be -1 to
* evict even 0-sized elements.
*/
private void trimToSize(int maxSize) {
while (true) {
K key;
V value;
synchronized (this) {
if (size < 0 || (map.isEmpty() && size != 0)) {
throw new IllegalStateException(getClass().getName()
+ ".sizeOf() is reporting inconsistent results!");
}

            if (size <= maxSize) {
                break;
            }

//This line
Map.Entry<K, V> toEvict = null;
for (Map.Entry<K, V> entry : map.entrySet()) {
toEvict = entry;
}
//This line
if (toEvict == null) {
break;
}

            key = toEvict.getKey();
            value = toEvict.getValue();
            map.remove(key);
            size -= safeSizeOf(key, value);
            evictionCount++;
        }

        entryRemoved(true, key, value, null);
    }
}

上面的代码 是不是 有问题 啊 这样的话 每次 取出 的都是 最后 put 的bitmap

KJHttp

您好,我在试用KJHttp时,在2G网络环境下请求不成功,在wifi环境下没问题。说at org.kymjs.kjframe.KJHttp.openConnection(KJHttp.java:338)有空指针异常

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.