首页 文章 精选 留言 我的

精选列表

搜索[Java框架],共10000篇文章
优秀的个人博客,低调大师

volley框架使用小Demo

MainActivity public class MainActivity extends AppCompatActivity { private static final String URL = "https://www.baidu.com/"; private RequestQueue mQueue; // volley的请求队列 @BindView(R.id.volley_get) Button btn; TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mQueue = Volley.newRequestQueue(getApplicationContext()); ButterKnife.bind(this); } @OnClick({R.id.volley_get}) public void onClick(View v) { get(); } /** * 创建一个请求,这里我们做一个最简单的通过GET方式请求网页源码的操作。请求成功后打印结果。 */ private void get() { StringRequest request = new StringRequest(Request.Method.GET, URL, new Response.Listener<String>() { @Override public void onResponse(String arg0) { //Toast.makeText(getApplicationContext(), arg0, Toast.LENGTH_LONG).show(); textView = (TextView) findViewById(R.id.text); textView.setText(arg0.toString()); //Log.d("onResponse", arg0); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError arg0) { //Toast.makeText(getApplicationContext(), arg0.toString(), Toast.LENGTH_LONG).show(); textView = (TextView) findViewById(R.id.text); textView.setText(arg0.toString()); } }); mQueue.add(request); } } activity_main.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.an.volleytest.MainActivity"> <Button android:id="@+id/volley_get" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="get请求" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" android:id="@+id/text" android:layout_marginTop="25dp" android:layout_below="@+id/volley_get" android:layout_centerHorizontal="true" /> </RelativeLayout> 捕获.PNG 点击按钮 hello world 替换为请求网址的html文件

优秀的个人博客,低调大师

区块链开发知识框架

区块链学习更多的是去理解这种去中心化的思想和去中心化的价值所在,语言倒是其次的东西。 不过由于以太坊和Hyperledger Fabric 对go语言支持最好,所以go语言肯定是要学习的。 下面把我另外一个问题的答案copy过来,希望对你有所帮助。 背景介绍:本人从2015年开始研究区块链技术,也算是对区块链有一定的了解吧。 申明:预估看到本问题的知乎er应该都是想要入门区块链,那么本回答也主要是进行一个入门级别的介绍。只是入门级别介绍,不适合区块链从业人员提升学习。 ----------------------------------- 回答的目录如下: 一、区块链是什么? 二、从业务角度学习区块链技术? 三、从技术角度学习区块链技术? 四、学习资料推荐与共享? ------------------------------------- 一、区块链是什

优秀的个人博客,低调大师

Android Router路由框架使用

Router项目地址 1. 添加依赖 android { defaultConfig { ... javaCompileOptions { annotationProcessorOptions { arguments = ["moduleName": project.name] } } } } dependencies { implementation 'com.chenenyu.router:router:1.4.0-beta1' annotationProcessor 'com.chenenyu.router:compiler:1.4.0-beta1' } 2. Application中注册 public class App extends Application{ @Override public void onCreate() { super.onCreate(); Router.initialize(new Configuration.Builder() // 调试模式,开启后会打印log .setDebuggable(BuildConfig.DEBUG) // 注册模块名,每个Router使用的Module都要在这里注册 .registerModules("module1", "module2", "app") .build()); } } 3. 跳转URI /** * uri 可填写网页链接 * 1. http://www.baidu.com/ * 2. 动态添加路由中map集合中的键 */ Router.build(uri).callback(new RouteCallback() { @Override public void callback(RouteResult state, Uri uri, String message) { if (state == RouteResult.SUCCEED) { Toast.makeText(MainActivity.this, "succeed: " + uri.toString(), Toast.LENGTH_SHORT).show(); } else { Toast.makeText(MainActivity.this, "error: " + uri + ", " + message, Toast.LENGTH_SHORT).show(); } } }).go(this); 4. 动态添加路由 // 添加动态路由 Router.handleRouteTable(new RouteTable() { @Override public void handle(Map<String, Class<?>> map) { map.put("dynamic", DynamicActivity.class); } }); 5. 表过滤器与目标过滤器 Router.handleInterceptorTable(new InterceptorTable() { @Override public void handle(Map<String, Class<? extends RouteInterceptor>> map) { Log.e(TAG, "handle: " + map.toString()); } }); Router.handleTargetInterceptors(new TargetInterceptors() { @Override public void handle(Map<Class<?>, String[]> map) { Log.e(TAG, "handle: " + map.toString()); } }); 6. 跳转路由 Router.build("dynamic").go(this); 7. 注解注册 // 注解注册 @Route("result") public class ForResultActivity extends AppCompatActivity {} // 使用Bundle传递数据 Router.build("result").requestCode(0).with("extra", "Bundle From Module1Activity").go(this); 8. 自定义过滤器 // 1. 自定义过滤器 @Interceptor("SampleInterceptor") public class SampleInterceptor implements RouteInterceptor { @Override public boolean intercept(Context context, RouteRequest routeRequest) { Toast.makeText(context, String.format("Intercepted: {uri: %s, interceptor: %s}", routeRequest.getUri().toString(), SampleInterceptor.class.getName()), Toast.LENGTH_SHORT).show(); return true; } } // 2. 使用 @Route(value = "intercepted", interceptors = "SampleInterceptor") public class InterceptedActivity extends AppCompatActivity {} // 3. 添加过滤器 Router.build("test").addInterceptors("SampleInterceptor").go(this); // 4. 跳过过滤器Router.build("intercepted").skipInterceptors("SampleInterceptor").go(this); 9. 协议过滤 // 1. AndroidManifest.xml文件配置 <activity android:name=".SchemeFilterActivity"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:host="filter" android:scheme="router" /> </intent-filter> </activity> // 2. 协议过滤 public class SchemeFilterActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_scheme_filter); Uri uri = getIntent().getData(); if (null != uri) { Toast.makeText(this, "uri: " + uri.toString(), Toast.LENGTH_SHORT).show(); if (!uri.toString().startsWith("router://filter")) { Router.build(uri).go(this); } finish(); } } } // 3. 使用 Router.build("router://filter").go(this);

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册