ListView中的setAdapter() 方法 ListView通过适配器来显示内容的,适配器有两种 一种是ArrayAdapter 另一种是SimpleAdapter
ArrayAdapter是解析一个数组,叫这个数组呈现出ListView效果,注意最后用setConnentView方法将这ListView加入到手机界面进行显示,而Activity本身不用set ConnentView加载本来的main.xml 文件
SimpleAdapter是解析一个List中含有map的集合,这个结构相比一个数组复杂的多,SimpleAdapter解析这个复杂的结构会叫我们可以给客户呈现结构更完美的ListView。
ArrayAdapter 简单的文字列表
simpleAdapter 自己定义一个丰富的列表
SimpleCursorAdapter可以从数据库中读取数据加到列表上
BaseAdapter可以在列表上加处理事件
package com.example.gdlistviewarrayadapter;
public class MainActivity extends Activity {
private ListView listview;
private String data[] ={"周杰伦","佟大为","李小双","文章","范冰冰"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
listview=new ListView(this);
// 实例化ListView组件
listview.setAdapter(
new ArrayAdapter<String>
(this, android.R.layout.simple_list_item_1, this.data));
/*
* android.R.layout.simple_list_item_1 是调用系统提供的Id
* **/
this.setContentView(listview);
//设置这个布局
}
}
package com.example.gdlistviewarrayadapter;
public class MainActivity extends Activity {
private ListView listview;
private String data[][] ={ { "姓名","周杰伦"},{ "姓名","郭庆雨"}};
private SimpleAdapter sip;
private List<Map<String ,String>> list = new ArrayList<Map<String,String>>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.activity_main);
listview=(ListView)findViewById(R.id.list);
for(int i=0;i<data.length;i++){
Map<String ,String > map= new HashMap<String, String>();
map.put("A", data[i][0]);
map.put("B", data[i][1]);
/*
* map 里面的Key值是随意定义的 只要是和下面的
* new SimpleAdapter(this,
* list, R.layout.datalist,
* new String[] {"A","B"}, new int[]{R.id._id,R.id.name});
* 中的 new String[]{}数组里面的数据一样就好
* **/
list.add(map);
}
sip=
new SimpleAdapter(this,
list,
R.layout.datalist, //把模板布局夹到SimpleAdapter中去
new String[] { "A","B"}, new int[]{R.id._id,R.id.name});
/*
* new SimpleAdapter(this,
* list, R.layout.datalist,
* new String[] {"A","B"}, new int[]{R.id._id,R.id.name});
*中的new String[]{"A","B"}和 new int []{R.id._id,R.id.name} 是把 我们的Map中
*那个key值与我们模板(datalist.xml)布局(layout)中相应的组件布局一一对应
* **/
listview.setAdapter(this.sip);
/*new SimpleAdapter(this,
* list, R.layout.datalist,
* new String[] {"A","B"}, new int[]{R.id._id,R.id.name});
*中的 R.layout.datalist, 是把模板布局加到SimpleAdapter中去
* listview.setAdapter(this.sip)是把SimpleAdapter添加到ListView 中去
* ListView 又在显示布局(main.xml)中这样模板布局(layout)datalist.xml也同时
* 被加到显示布局main.xml中去
* **/
}
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<!-- 本布局用于显示布局 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="listView"
/>
<!-- 用于显示题目 -->
<ListView
android:id="@+id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<!-- 本ListView用于加载模板布局datalist.xml -->
</LinearLayout>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<!-- 注意 用于模板的Layout的高度不能设置沾满整个全屏
如果沾满了用于显示的Layout将不起作用 -->
<TableRow >
<TextView
android:id="@+id/_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</TableRow>
</TableLayout>
Dialog extends Object的子类AlertDialog和CharacterPickerDialog
AlertDialog extends Dialog的子类DataPickerDialog,ProgressDialog和TimePickerDialog
AlertDialog.Builder不是AlertDialog的子类而是AlertDialog的嵌套类,
Public void class AlertDialog extends Dialog{
Pubic static class AlertDialog.Builder extends Object{
}
}
在图形界面中,对话框也是人机交互的一种重要形式,程序可以通话对话框对用户进行一些信息的提示
,而用户也可以通过对话框和程序进行一些简单的交互操作,Dialog 可以有一个按钮或是多个按钮或是列表选项,进行人家交互。
在android的开发中,所有的对话框都是从android.app.Dialog 类继承而来,此类的继承机构如下
Java.Long.Object
Android.app.Dialog
可以看出,此类直接继承自Object类,与View类没有任何继承关系。
但是如果要想实例化,AlertDialog类,往往要依靠其内部类,AlertDialog.Builder完成,在AlertDialog.Builder
类中定义的常用方法如下表
Dialog类定义的常用方法
NO |
方 法 |
类 型 |
描 述 |
1 |
Public void setTitle(CharSequence title) |
普通 |
设置对话框的显示标题 |
2 |
Public void setTitle(int title Id) |
普通 |
设置对话框的显示标题,内容为资源文件指定 |
3 |
Public void show() |
普通 |
显示对话框 |
4 |
Public void hide() |
普通 |
隐藏对话框 |
5 |
Public Boolean isShowing() |
普通 |
判断对话框是否显示 |
6 |
Public void setContentView() |
普通 |
设置View组件 |
7 |
Public void dismiss() |
普通 |
隐藏对话框 |
8 |
|||
9 |
|||
10 |
AlertDialog.Builder
NO |
方 法 |
类型 |
描述 |
1 |
Public AlertDialog.Buider(Context context) |
构造 |
创建AlertDialog.Builder对象 |
2 |
Public AlertDialog.Builder setPositiveButton(int textId,DialogInterFace.OnClickListener listener) |
普通 |
为对话框添加一个确定按钮,显示内容有资源文件制定,并设置监听操作 |
3 |
Public AlertDialog.Builder setNegativeButton(CharSequence text,DialogInterface.OnClickListener listener) |
普通 |
为对话框设置一个取消按钮,显示内容有资源文件制定,并设置监听操作 |
4 |
Public AlertDialog.Builder set NeutralButton(CharSequence text,DialogInterface.OnclickListener listener) |
普通 |
为对话框设置一个普通按钮 ,并设置监听 |
5 |
Public AlertDialog.Builder setMessage( int messageId) |
普通 |
设置显示信息(内容由资源ID引用) |
6 |
Public AlertDialog.Builder setMessage(CharSequence) |
普通 |
设置显示信息(内容由字符串直接组成) |
7 |
Public AlertDialog.Builder setItems( Int textId,DialogInterface.OnClickListener listener ) |
普通 |
将信息内容设置为列表项,列表项的内容由 String数组组成, 同时设置监听 |
8 |
Public AlertDialog.Builder setItems( CharSequence[] items,DialogInterface.OnClickListener listener ) |
普通 |
将信息设置为列表项,列表项由资源文件制定,同时设置监听 |
9 |
Public AlertDialog create() |
普通 |
创建AlertDialog的实例 |
10 |
Public AlertDialog setIcon(Drawable icon) |
普通 |
设置显示图标 |
11 |
Public AlertDialog setIcon(int iconId) |
普通 |
设置要显示的图标的资源ID |
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
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=".MainActivity" >
<Button
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="104dp"
android:layout_marginTop="146dp"
android:text="Button" />
</RelativeLayout>
package com.example.alertdialogdemo;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.Dialog;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
private Button text=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text=(Button)findViewById(R.id.text);
text.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("对话框");
builder.setMessage("显示提示信息");
builder.setIcon(R.drawable.ic_launcher);
AlertDialog alertDialog= builder.create();
alertDialog.show();
}
});
}
}
对话框Dialog可以设置按钮以及一些监听 来提示用户是否要退出程序,隐藏对话框,取消对话框,以及加上一些列表选项
NO |
接 口 名 称 |
描 述 |
1 |
DialogInterface.OnClickListener |
对话框单击事件处理 |
2 |
DialogInterface.OnCancelListener |
对话框取消事件处理 |
3 |
DialogInterface.OnDismissListener |
对话框隐藏事件处理 |
4 |
DialogInterface.OnkeyListener |
对话框键盘事件处理 |
5 |
DialogInterface.OnMultiChoiceClickListener |
对话框多选事件处理 |
6 |
DialogInter.OnShowListener |
对话框显示事件处理 |
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
package com.example.alertdialogdemo;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.Dialog;
import android.content.DialogInterface;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
private Button text=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text=(Button)findViewById(R.id.text);
text.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("对话框");
builder.setMessage("显示提示信息");
builder.setIcon(R.drawable.ic_launcher);
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
//添加一个确定按钮
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
MainActivity.this.finish();
//结束Activity
}
} );
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
// 设置取消按钮
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
builder.setNeutralButton("普通按钮",new DialogInterface.OnClickListener() {
//设置普通按钮
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
AlertDialog alertDialog= builder.create();
alertDialog.show();
}
});
}
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:id="@+id/but"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="点击" />
</LinearLayout>
package com.example.dialoglinstenerdemo;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
private Button but=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
but=(Button)findViewById(R.id.but);
but.setOnClickListener(new DialogListener());
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode==event.KEYCODE_BACK){
MainActivity.this.exitDialog();
}
return false;
}
class DialogListener implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
MainActivity.this.exitDialog();
}
}
private void exitDialog(){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("程序退出");
builder.setMessage("你确定退出么?");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
MainActivity.this.finish();
}
});
builder.setNegativeButton(R.string.negative,newDialogInterface.OnClickListener() {
//此处引用String.xml文件下的R.string.negative的id
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
builder.setNeutralButton("查看详情", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
}) ;
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
}
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Dialog案例</string>
<string name="action_settings">Settings</string>
<string name="negative">取消</string>
</resources>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/show"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FF00FF"
/>
<Button
android:id="@+id/onlick"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="点击" />
</LinearLayout>
package com.example.dialogitemdemo;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.view.View;
import android.view.View.OnClickListener;
public class MainActivity extends Activity {
private Button but;
private TextView show;
private String [] args= {"北京","上海","南京"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
show=(TextView)findViewById(R.id.show);
but=(Button)findViewById(R.id.onlick);
but.setOnClickListener(new DialogSetItemOnClicklistener());
}
class DialogSetItemOnClicklistener implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("你喜欢的城市");
builder.setItems(args, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
MainActivity.this.show.setText("你喜欢的城市是:"+MainActivity.this.args[which]);
}
});
AlertDialog alert= builder.create();
alert.show();
}
}
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/show"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FF00FF"
/>
<Button
android:id="@+id/onlick"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="点击" />
</LinearLayout>
package com.example.dialogitemdemo;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
private Button but;
private TextView show;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
show=(TextView)findViewById(R.id.show);
but=(Button)findViewById(R.id.onlick);
but.setOnClickListener(new DialogSetItemOnClicklistener());
}
class DialogSetItemOnClicklistener implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("你喜欢的城市");
builder.setItems(R.array.city, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
MainActivity.this.show.setText("你喜欢的城市是:"+
MainActivity.this.getResources().
getStringArray(R.array.city)[which]);
//获得资源文件下的StringArray中的R.array.city中的哪一个选项
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}});
AlertDialog alert= builder.create();
alert.show();
}}}
<resources>
<string-array name="city" >
<item >广州</item>
<item >深圳</item>
<item >香港</item>
<item >澳门</item>
<item >台湾</item>
</string-array>
</resources>
package com.example.dialogsetsinglechoiceitems;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
private Button mybut;
private TextView show;
private String [] fruitData ={ "苹果","香蕉","西瓜"};
private int chNum=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mybut=(Button)findViewById(R.id.mybut);
show=(TextView)findViewById(R.id.show);
mybut.setOnClickListener(new SetSingleChoice());
}
class SetSingleChoice implements OnClickListener{
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("选择你喜欢的水果");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
MainActivity.this.show.setText("你喜欢的水果是:"+MainActivity.this.fruitData[chNum]);
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
builder.setSingleChoiceItems(MainActivity.this.fruitData, 0, new DialogInterface.OnClickListener() {
/*
* setSingleChoiceItems(
* MainActivity.this.fruitData,-------> 选项数据源 可以通过配置获得
* 0,------------> 默认选中项位置
*new DialogInterface.OnClickListener()---> 选项的监听
* )
* **/ @Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
MainActivity.this.show.setText(MainActivity.this.fruitData[which]);
MainActivity.this.chNum=which;
//修改选中选
}
});
AlertDialog alertDialog= builder.create();
alertDialog.show();
}
}
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/show"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="" />
<Button
android:id="@+id/mybut"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="选择你喜欢的水果" />
</LinearLayout>
package com.example.alertdialogsetmultichoiceiteme;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
private Button but;
private TextView show;
private String [] args={ "大学","中庸","论语"};
private boolean chdata[]= new boolean[]{ true,true,true};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
show=(TextView)findViewById(R.id.show);
but=(Button)findViewById(R.id.but);
but.setOnClickListener(new DialogMultiChoicIteme());
}
class DialogMultiChoicIteme implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle("你喜欢的书籍");
builder.setPositiveButton("确定",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
MainActivity.this.show.append(MainActivity.this.args[0]+","
+MainActivity.this.args[1]+","+
MainActivity.this.args[2]
);
}
});
builder.setNegativeButton("取消",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
builder.setMultiChoiceItems(
MainActivity.this.args,
MainActivity.this.chdata ,
new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which,
boolean isChecked) {
// TODO Auto-generated method stub
for (int i = 0; i < MainActivity.this.args.length; i++) {
if(i==which&&isChecked){
MainActivity.this.show.append(MainActivity.this.args[i]+",");
}
}
}
});
AlertDialog alertDialog= builder.create();
alertDialog.show();
}
}
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/show"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="" />
<Button
android:id="@+id/but"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="选择你喜欢的数据" />
</LinearLayout>
文章浏览阅读2.1k次。FX3 JLINK调试是一个有些麻烦的事情,经常有些莫名其妙的问题。 设置参见 c:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\doc\firmware 下的 EzUsbSuite_UG.pdf 文档。 常见问题: 1.装了多个版本的jlink,使用了未注册或不适当的版本 选择一个正确的版本。JLinkARM_V408l,JLinkA_ezusbsuite_qsg.pdf
文章浏览阅读2.6k次。** 本文仅通过用openGL+QT简单实现二进制stl文件读取显示并通过鼠标旋转缩放, 是比较入门的级别,由于个人能力有限,新手级别,所以未能施加光影灯光等操作, 未能让显示的stl文件更加真实。****效果图:**1. main.cpp```cpp#include "widget.h"#include <QApplication>int main(int argc, char *argv[]){ QApplication a(argc, argv); _qopengl如何鼠标控制旋转
文章浏览阅读943次,点赞22次,收藏19次。以大规模预训练语言模型为基础的chatgpt成功出圈,在近几日已经给人工智能板块带来了多次涨停,这足够说明这一风口的到来。而作为曾经的风口“知识图谱”而言,如何找到其与chatgpt之间的区别,找好自身的定位显得尤为重要。形式化知识和参数化知识在表现形式上一直都是大家考虑的问题,两种技术都应该有自己的定位与价值所在。知识图谱构建往往是抽取式的,而且往往包含一系列知识冲突检测、消解过程,整个过程都能溯源。以这样的知识作为输入,能在相当程度上解决当前ChatGPT的事实谬误问题,并具有可解释性。
文章浏览阅读1.3k次。最重要的一点,一定是degbug的方式启动,不然热部署不会生效,注意,注意!_tomcat热部署
文章浏览阅读10w+次,点赞56次,收藏482次。html5 ,用css去修饰自己的个人主页代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xh..._个人主页源码
文章浏览阅读201次。开发者(KaiFaX)面向全栈工程师的开发者专注于前端、Java/Python/Go/PHP的技术社区来源:开源最前线链接:https://github.com/svenstaro/gen..._程序员怎么上班摸鱼
文章浏览阅读1.3k次。改变Block UI界面的尺寸_ug二次开发 调整 对话框大小
文章浏览阅读1.3w次,点赞18次,收藏291次。基于深度学习的股票预测数据获取数据转换LSTM模型搭建训练模型预测结果数据获取采用tushare的数据接口(不知道tushare的筒子们自行百度一下,简而言之其免费提供各类金融数据 , 助力智能投资与创新型投资。)python可以直接使用pip安装tushare!pip install tushareCollecting tushare Downloading https://files.pythonhosted.org/packages/17/76/dc6784a1c07ec040e74_基于深度学习的股票操纵识别研究python代码
文章浏览阅读2k次。【IT168 厂商动态】 近日,北京中科网威(NETPOWER)工业级防火墙通过了中国电力工业电力设备及仪表质量检验测试中心(厂站自动化及远动)测试,并成为中国首家通过电力协议访问控制专业测评的工业级防火墙生产厂商。 北京中科网威(NETPOWER)工业级防火墙专为工业及恶劣环境下的网络安全需求而设计,它采用了非X86的高可靠嵌入式处理器并采用无风扇设计,整机功耗不到22W,具备极_电力行业防火墙有哪些
文章浏览阅读206次。/*烟台大学计算机学院 作者:董玉祥 完成日期: 2017 12 3 问题描述:二叉树排序树中查找的路径 */#include #include #define MaxSize 100typedef int KeyType; //定义关键字类型typedef char InfoType;typedef struct node
文章浏览阅读775次。当时老师一定会告诉你,这个一个"warning"的报警,可以不用管它,也确实如此。不过,这条报警信息我们至少可以知道一点,就是scanf函数调用完之后是有一个返回值的,下面我们就要对scanf返回值进行详细的讨论。并给出在编程时利用scanf的返回值可以实现的一些功能。_c语言ignoring return value
文章浏览阅读9.6k次。十四五规划下,数据安全成为国家、社会发展面临的重要议题,《数据安全法》《个人信息保护法》《关键信息基础设施安全保护条例》已陆续施行。如何做好“数据安全建设”是数字时代的必答题。_数字医疗服务保障方案