摘要(Abstract)
EdgeX Foundry 的原始代码主要来自 Dell 的 Fuse 项目,以 Apache 2.0 许可证发布。主要编程语言是Java,整体框架采用 Spring Boot、Spring Framework、Docker、Consul 等微服务注册和配置中心等技术构成。
其中核心微服务有 8 个:分别是 core-data、command、metadata、consul、mongodb、edgex-files、log、notification 服务,这是启动 EdgeX Foundry 工程的最小依赖。
主题(Topic)
项目(Project)
2017122901
Rampaigh/SharedPreferences
SharkChao/MeasureSizeDemo
lsanotes/ApplicationProcessTest
chenguo4930/LancherTask
HurryYU/ASMTest
kandroid/AndroidLifecycleSample
Habbier/Android-
AhmedElsharkawyCS/MQTT_App
elessarsst/BaseActivityAndFragmentWithButterKnife
//联网
//读取外置存储卡 1 2 3.添加布局
1 2 3 4 5 4.在Activity 中编写代码,相关代码含义已经全部添加注释 public class MyBanner extends AppCompatActivity implements OnBannerListener { private Banner banner; private ArrayList
list_path; private ArrayList list_title; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my_banner); initView(); } private void initView() { banner = (Banner) findViewById(R.id.banner); //放图片地址的集合 list_path = new ArrayList<>(); //放标题的集合 list_title = new ArrayList<>(); list_path.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic21363tj30ci08ct96.jpg"); list_path.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic259ohaj30ci08c74r.jpg"); list_path.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic2b16zuj30ci08cwf4.jpg"); list_path.add("http://ww4.sinaimg.cn/large/006uZZy8jw1faic2e7vsaj30ci08cglz.jpg"); list_title.add("好好学习"); list_title.add("天天向上"); list_title.add("热爱劳动"); list_title.add("不搞对象"); //设置内置样式,共有六种可以点入方法内逐一体验使用。 banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE); //设置图片加载器,图片加载器在下方 banner.setImageLoader(new MyLoader()); //设置图片网址或地址的集合 banner.setImages(list_path); //设置轮播的动画效果,内含多种特效,可点入方法内查找后内逐一体验 banner.setBannerAnimation(Transformer.Default); //设置轮播图的标题集合 banner.setBannerTitles(list_title); //设置轮播间隔时间 banner.setDelayTime(3000); //设置是否为自动轮播,默认是“是”。 banner.isAutoPlay(true); //设置指示器的位置,小点点,左中右。 banner.setIndicatorGravity(BannerConfig.CENTER) //以上内容都可写成链式布局,这是轮播图的监听。比较重要。方法在下面。 .setOnBannerListener(this) //必须最后调用的方法,启动轮播图。 .start(); } //轮播图的监听方法 @Override public void OnBannerClick(int position) { Log.i("tag", "你点了第"+position+"张轮播图"); } //自定义的图片加载器 private class MyLoader extends ImageLoader { @Override public void displayImage(Context context, Object path, ImageView imageView) { Glide.with(context).load((String) path).into(imageView); } } }" class="topic-tag topic-tag-link">
banner
{ /** * 创建构造方法 * 拿大两个的引用 * */ MvpView view; MvpModel model=new ImvpModel(); public WeakReference tWeakReference; //创建构造方法 public Mvppre(T view){ // tWeakReference = new WeakReference<>(view);//防止内存泄露 this.view=view; } //创建绑定方法 // public void Onattch(T view){ // tWeakReference = new WeakReference<>(view); // } //创建解绑数据 public void Ondeattch(){ tWeakReference.clear(); } //创建方法提取数据 public void fetch(){ if(view!=null){ view.load(); if(model!=null){ model.loaddata(new MvpModel.OnLoadLisner() { @Override public void Complted(List persons) { view.show( persons); } }); } } } } MainActivity的使用 public class MainActivity extends AppCompatActivity implements MvpView{ private ListView lv; private Mvppre jj; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (ListView) findViewById(R.id.lv); jj = new Mvppre(this); jj.fetch(); } @Override public void load() { Toast.makeText(MainActivity.this, "正在加载", Toast.LENGTH_SHORT).show(); } @Override public void show(List persons) { lv.setAdapter(new Myadpater(persons,this)); } }" class="topic-tag topic-tag-link">
Mvp-
(this,android.R.layout.simple_list_item_1,categories)); myListView = findViewById(R.id.myListView); myListView.setAdapter(new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,getSafeties())); mySpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView> parent, View view, int position, long ItemID) { if(position >=0 && position < categories.length){ getSelectedCategoryData(position); }else{ Toast.makeText(save.this,"Selected Category Does not Exist!",Toast.LENGTH_SHORT).show(); } } @Override public void onNothingSelected(AdapterView> parent) { } }); myListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView> adapterView, View view, int position, long id) { ImageView img = new ImageView(save.this); img.setImageResource(R.drawable.dang); ImageView img2 = new ImageView(save.this); img2.setImageResource(R.drawable.safe); ImageView img3 = new ImageView(save.this); img3.setImageResource(R.drawable.cav); // 顯示。 switch(position){ case 0: new AlertDialog.Builder(save.this) .setIcon(R.drawable.choco) .setTitle("巧克力") .setView(img) .setMessage("巧克力是以可可漿和可可脂為主要原料製成的一種甜食,巧克力製作致可劃分兩部分,一為可可豆採收,二為可可豆製作烘焙:可可豆曬乾儲存後由巧克力原料工廠採買,即開始進行加工過程,大致可依序分為烘焙、壓碎、調配與研磨、精鍊、去酸、回火鑄型等步驟。它不但口感細膩甜美,而且還具有一股濃鬱的香氣。") .setNegativeButton("了解", null).create() .show(); break; case 1: new AlertDialog.Builder(save.this) .setIcon(R.drawable.dairy) .setTitle("乳製品") .setView(img2) .setMessage("指的是使用牛乳或羊乳及其加工製品為主要原料,加入或不加入適量的維生素、礦物質和其他輔料,使用法律法規及標準規定所要求的條件,經加工製成的各種食品,也叫奶油製品。") .setNegativeButton("了解", null).create() .show(); break; case 2: new AlertDialog.Builder(save.this) .setIcon(R.drawable.coke) .setTitle("可樂") .setView(img3) .setMessage("可樂的主要口味包括香草、肉桂、檸檬香味等等由天然香料所配製出來的味道。可樂最初是由一個美國藥師約翰·彭伯頓在1886年發明的,本來是一種藥水稀釋而得到的保健飲品。") .setNegativeButton("了解", null).create() .show(); break; default: break; } } }); } private ArrayList getSafeties(){ ArrayList data = new ArrayList<>(); data.clear(); data.add(new Safety("巧克力",1)); data.add(new Safety("乳製品",1)); data.add(new Safety("可樂",3)); data.add(new Safety("UY Scuti",2)); data.add(new Safety("IC 1011",3)); data.add(new Safety("Sun",2)); data.add(new Safety("Aldebaran",2)); data.add(new Safety("Venus",1)); data.add(new Safety("Malin",3)); data.add(new Safety("Rigel",2)); data.add(new Safety("Earth",1)); data.add(new Safety("Whirlpool",3)); data.add(new Safety("VY Canis Majoris",2)); data.add(new Safety("Saturn",1)); data.add(new Safety("Sombrero",3)); data.add(new Safety("Betelgeuse",2)); data.add(new Safety("Uranus",1)); data.add(new Safety("Virgo Stellar Stream",3)); data.add(new Safety("Epsillon Canis Majoris",2)); data.add(new Safety("Jupiter",1)); return data; } private void getSelectedCategoryData(int categoryID){ ArrayList safeties = new ArrayList<>(); if(categoryID == 0){ adapter = new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,getSafeties()); }else{ for(Safety safety : getSafeties()){ if(safety.getCategoryId() == categoryID){ safeties.add(safety); } } adapter = new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,safeties); } myListView.setAdapter(adapter); } protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.save); initializeViews(); } } class Safety{ private String name; private int safetyID; public String getName(){ return name; } public int getCategoryId(){ return safetyID; } public Safety(String name,int safetyID){ this.name = name; this.safetyID = safetyID; } @Override public String toString(){ return name; } }" class="topic-tag topic-tag-link">
xhuaaaa/test2