how to view structure of a table ?command model

szsoft 2003-09-09 02:10:39
see up
...全文
26 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
txlicenhe 2003-09-09
  • 打赏
  • 举报
回复

SELECT
(case when a.colorder=1 then d.name else '' end) N'表名',
a.colorder N'字段序号',
a.name N'字段名',
(case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) N'标识',
(case when (SELECT count(*)
FROM sysobjects
WHERE (name in
(SELECT name
FROM sysindexes
WHERE (id = a.id) AND (indid in
(SELECT indid
FROM sysindexkeys
WHERE (id = a.id) AND (colid in
(SELECT colid
FROM syscolumns
WHERE (id = a.id) AND (name = a.name))))))) AND
(xtype = 'PK'))>0 then '√' else '' end) N'主键',
b.name N'类型',
a.length N'占用字节数',
COLUMNPROPERTY(a.id,a.name,'PRECISION') as N'长度',
isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as N'小数位数',
(case when a.isnullable=1 then '√'else '' end) N'允许空',
isnull(e.text,'') N'默认值',
isnull(g.[value],'') AS N'字段说明'
--into ##tx

FROM syscolumns a left join systypes b
on a.xtype=b.xusertype
inner join sysobjects d
on a.id=d.id and d.xtype='U' and d.name<>'dtproperties'
left join syscomments e
on a.cdefault=e.id
left join sysproperties g
on a.id=g.id AND a.colid = g.smallid
order by object_name(a.id),a.colorder
pengdali 2003-09-09
  • 打赏
  • 举报
回复
select rtrim(b.name) as colname
,case when h.id is not null then 'PK' else '' end as primarykey
,type_name(b.xusertype) + case when b.colstat & 1 = 1 then '[ID(' + convert(varchar,ident_seed(a.name)) + ',' + convert(varchar,ident_incr(a.name)) + ')]' else '' end as type
,b.length
,case b.isnullable when 0 then 'N' else 'Y' end as [isnull]
,isnull(e.text,'') as [default]
,isnull(c.value,'') as descript
from sysobjects a,syscolumns b
left outer join sysproperties c on b.id = c.id and b.colid = c.smallid
left outer join syscomments e on b.cdefault = e.id
left outer join (select g.id,g.colid from sysindexes f,sysindexkeys g where f.id = g.id and f.indid = g.indid and f.indid > 0 and f.indid < 255 and (f.status & 2048)<>0) h on b.id = h.id and b.colid = h.colid
where a.id = b.id
and a.id = object_id('titles') --tablename改成你要导出的表的名称
order by b.colid
tiny_yan 2003-09-09
  • 打赏
  • 举报
回复
Use dbname
go
select * from syscolumns where object_id('tablename')
WELCOME TO TURBO C 2.0 ---------------------- This README file contains important, last minute information about Turbo C 2.0. The HELPME!.DOC file on the COMMAND LINE/UTILITIES disk also answers many common Technical Support questions. TABLE OF CONTENTS ----------------- 1. How to Get Help 2. Installation 3. Important Notes 4. Corrections to the Manuals 5. Additional Notes 6. Notes for Turbo Prolog Users 7. Files on the Disks 1. HOW TO GET HELP ------------------- If you have any problems, please read this file, the HELPME!.DOC file, and the Turbo C manuals first. If you still have a question and need assistance, help is available from the following sources: 1. Type GO BOR on the CompuServe bulletin board system for instant access to the Borland forums with their libraries of technical information and answers to common questions. If you are not a member of CompuServe, see the enclosed special offer, and write for full details on how to receive a free IntroPak containing a $15 credit toward your first month's on- line charges. 2. Check with your local software dealer or users' group. 3. Write to us at the following address: Borland International Turbo C Technical Support 1800 Green Hills Road P.O. Box 660001 Scotts Valley, CA 95066-0001 Please remember to include your serial number or we will be unable to process your letter. 4. If you have an urgent problem that cannot wait and you have sent in the license agreement from the front of your manual, you may call the Borland Technical Support Department at (408) 438-5300. Please have the following information ready before calling: a. Product name and serial number on your original distribution disk. Please have your serial number ready or we will be unable to process your call. b. Product version number. The version number for Turbo C is displayed when you first load the program and before you press any keys. c. Computer brand, model, and the brands and model numbers of any additional hardware. d. Operating system and version number. (The version number can be determined by typing VER at the MSDOS prompt.) e. Contents of your AUTOEXEC.BAT file. f. Contents of your CONFIG.SYS file. 2. INSTALLATION ---------------- The INSTALL/HELP disk contains a program called INSTALL.EXE that will assist you with the installation of Turbo C 2.0. There are three options for installation: 1. Hard Disk - This option allows you to pick the subdirectories where the files will be loaded. It will create a TURBOC.CFG file based on those directories. 2. Update from TC 1.5 - This allows for an easy update from version 1.5. After the files are copied, all the installed options from your current TC.EXE will be transferred to the new one. This is especially useful if you have modified the colors or editor keys. 3. Floppy Disk - This option will build either a command line or Integrated Development Environment version for a two drive system. Be sure to have three formatted disks ready before you start. To start the installation, change your current drive to the one that has the install program on it and type INSTALL. You will be given instructions in a box at the bottom of the screen for each prompt. For example, if you will be installing from drive A:, type: A: INSTALL You should read the rest of this README file to get further information about this release before you do the installation. 3. IMPORTANT NOTES ------------------- o The file HELPME!.DOC contains discussions of common questions and answers concerning Turbo C 2.0. You should consult it for answers to problems that aren't covered in this file or in the manuals. o If you are running INSTALL or TCINST on a laptop or any other system that uses an LCD or composite display, you should set your system to black and white mode before running INSTALL or TCINST. You can do this from DOS with the following command line: mode bw80 or, you can force INSTALL or TCINST to come up in black and white mode by using the /b switch: tcinst /b o /P PARAMETER FOR TC.EXE. A new command-line switch controls palette swapping on EGA video adapters. Using this switch tc /p hello is recommended only when the user program modifies the EGA palette registers. When /P is specified, the EGA palette will be restored each time the screen is swapped. In general, you don't need to use this switch unless your program modifies the EGA palette registers, or unless your program uses BGI to change the palette. o A program that takes over interrupt 9 cannot be debugged with the integrated debugger. Use the standalone Turbo Debugger instead. o exec() WITH NOVELL NETWORK. Versions of the Novell network system software earlier than 2.01-2 do not support a DOS call used by exec(), spawn(), and system(). If you are using the Integrated Development Environment to run a program that uses any of these functions and you have early Novell system software, run the program from DOS. To do this from the Integrated Development Environment you can use Alt-F/O. o If you used the INSTALL program to upgrade from version 1.5, or if you used CINSTXFR to transfer options from an installation of version 1.5, check the setting of the standard stack frame option in the Integrated Development Environment (Alt-O/C/C/S). If you are going to use the integrated debugger this option should be turned ON. o If you are having problems with the call stack or qualified names, make sure you have compiled with the standard stack frame option turned on. o The ANSI draft has changed the syntax of labels. A label now must always be followed by a statement. This means that code like this is no longer accepted: { . . . jump_label: } If you have code like this, change it to look like this: { . . . jump_label: ; /* need a statement here! */ } o TCC has a switch to specify which assembler to look for. By default, it will look for TASM.EXE. If you want to use a different assembler, use -E, as described in the Reference Guide. o When using THELP on an AT&T 6300, be sure to use the /L25 command-line option, as described in the file THELP.DOC. o When you use qualified variable names as described on page 57 of the User's Guide you don't need to use the module name to access a variable that is local to a global function. The module name is only needed when you access a static variable or a variable that is local to a static function. o Because of the limited memory available in the Tiny model, it no longer supports graphics functions. o The Version 1.5 graphics drivers (*.BGI) are not compatible with the Version 2.0 graphics library. Use the graphics drivers distributed with Version 2.0. o When used with a Zenith Z-449 card, the BGI autodetection code will always select the 640X480 enhanced EGA mode. If you are using the Z-449 with a monitor that is not compatible with this mode, it will be necessary to override the GraphDriver and GraphMode parameters used in the BGI initgraph() call. 4. CORRECTIONS TO THE MANUALS ------------------------------ REFERENCE GUIDE: Page 159 The prototype for the function getdefaultpallette() is incorrect. It should be struct palettetype * far _Cdecl getdefaultpalette( void ); USER'S GUIDE: Page 57 In the section entitled "Qualifying Variable Names," the last sentence should read "...need to type only myfunc.myvar." 66 The directions for compiling the WORDCNT program are incorrect. There is no WORDCNT.PRJ file; all you need to do is load the file WORDCNT.C into the editor. Once you have done that, the rest of the instructions are correct. 5. ADDITIONAL NOTES -------------------- 5.1 NOTES FOR VERSION 1.0 & 1.5 USERS ------------------------------------- o You must use the Version 2.0 libraries with the 2.0 compilers. o The Integrated Development Environment no longer displays the message "Press any key to return to Turbo C..." when your program terminates. Instead, at the end of your program the User screen is replaced by the Integrated Development Environment. To view the User screen, press Alt-F5 or select Alt-R/S. When you are viewing the User screen, pressing any key will return you to the Integrated Development Environment. o A new pseudo-variable has been added. _FLAGS now contains the value of the flags register so you can test the flags at any point in your program. o The ssignal() and gsignal() functions are no longer supported. See the section in this README on how to convert programs that use them. o The cprintf() function now works as documented. It does not translate line-feeds into CR/LF combinations. o Some compatibles had a problem under Version 1.5 because it used interrupt 18H. Version 2.0 does not use this interrupt, so you shouldn't encounter this problem anymore. o The program TCINST.COM in Version 1.0 has been changed to an .EXE file. You should delete the TCINST.COM program before trying to run the new TCINST.EXE. Otherwise, MS-DOS will actually run the old one. o The FILE structure for streams in Version 1.0 (but not 1.5) has been changed, so that the function tmpfile() could be implemented. You should recompile any modules that use stream I/O. 5.2 THELP ---------- THELP is a memory-resident utility program that gives you access to the Turbo C context-sensitive help system from any program. You don't need to use THELP if you're in the Integrated Development Environment, but it is especially useful if you use the command line compiler and your own text editor, or if you are debugging with the standalone Turbo Debugger. To use THELP, load THELP.COM into memory by typing at the DOS command line: thelp You activate ("pop-up") THELP by typing its hot key -- by default numeric keypad <5>. All Turbo C help commands apply (F1, Ctrl-F1, Alt-F1). For a complete description of THELP, refer to THELP.DOC in the Documentation Subdirectory. 5.3 USING CINSTXFR.EXE ---------------------- Your Turbo C 2.0 package contains a program named CINSTXFR.EXE, which can be used to transfer the configuration of the Integrated Development Environment from your copy of Turbo C 1.5 (not for 1.0) to your new installation of Turbo C 2.0. This program is run automatically by INSTALL.EXE if you select the option to "Update Hard Drive Copy of Turbo C 1.5 to Turbo C 2.0." If you prefer to do this yourself, you can run CINSTXFR.EXE from the DOS command line. CINSTXFR.EXE takes two arguments: the first is the name of your Turbo C 1.5 Integrated Development Environment file (usually TC.EXE), and the second is the name of your Turbo C 2.0 Integrated Development Environment file (also usually TC.EXE). Either one of these names can also include a path name. For example, if your copy of the Turbo C 1.5 Integrated Development Environment file is named TC.EXE and is in a directory named \TURBOC and your copy of the Turbo C 2.0 Integrated Development Environment file is also named TC.EXE but is located in a directory named \TC2, the command line to copy the configuration from 1.5 to 2.0 would look like this: CINSTXFR \TURBOC\TC.EXE \TC2\TC.EXE This will transfer all the options that you installed in your copy of Turbo C 1.5 to your copy of Turbo C 2.0. CINSTXFR.EXE does not work with Turbo C 1.0. If you are upgrading from Turbo C 1.0, you will have to install the options yourself. 5.4 CHANGED SWITCHES FOR OBJXREF -------------------------------- OBJXREF is an object module cross reference utility and is described on page 528 of the Turbo C Reference Guide. The /O option (object files directory) has been changed to the /D (directories) option. The switch now allows for multiple search directories to be specified. The new syntax is: OBJXREF /Ddir1[;dir2[;dir3]] or OBJXREF /Ddir1 [/Ddir2] [/Ddir3] OBJXREF will search each of the directories in the specified order for all object and library files. If no /D option is used, only the current directory will be searched. However, if a /D option is used, the current directory will NOT be searched unless it is included in the directory list. For example, to first search the BORLAND directory for files and then search the current directory, you would type OBJXREF /Dborland;. If multiple search directories are specified and a file matching the file specification is found, OBJXREF will include the file as part of the cross-reference. OBJXREF will only continue to search the other directories for the same file specification if the file specification contains wildcards. A new option has been added to allow you to specify an output file where OBJXREF will send any reports generated. The new option is the /O option, and has the following syntax: OBJXREF myfile.obj /RU /Ofilename.ext By default, all output is sent to the console. 5.5 CONVERSION INFORMATION FOR ssignal() AND gsignal() ------------------------------------------------------ Note: The C library and SIGNAL.H no longer support the ssignal() and gsignal() functions. ssignal() and gsignal() were from the old UNIX System III days. The ANSI standard no longer supports them nor does the current UNIX System V Interface Definition specification. To ease portation problems for people moving older code to Turbo C, we supply the source for the functions that came with TC 1.0 and TC 1.5. Also, the following discussion describes how code can be converted to do the same sort of things that ssignal() and gsignal() do without actually using them. NOTE: The constants defined in SIGNAL.H for SIG_IGN and SIG_DFL are different from the constants that were in TC 1.0 and TC 1.5. By using a globally declared array of function pointers, you can simulate the actions of ssignal() and gsignal() by using the following macros. Notice how the global table entry [0] is used as a temporary variable in the ssignal macro allowing the macro to swap the values and still return the original one. int (*_sigTable[16]) = { SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN, SIG_IGN, }; #define ssignal(num, action) \ ( \ (((num) < 1) || ((num) > 15)) ? SIG_DFL : \ ( \ (_sigTable[0] = _sigTable[(num)]), /* List of actions */ \ _sigTable[(num)] = (action), /* The last expression */ \ _sigTable[0] /* is the return value */ \ ) \ ) \ #define gsignal(num) \ ( \ (((num) < 1) || ((num) > 15)) ? 0 : \ ( \ (_sigTable[(num)] == SIG_IGN) ? 1 : \ ( \ (_sigTable[(num)] == SIG_DFL) ? 0 : (*_sigTable[(num)])() \ ) \ ) \ ) \ 6. NOTES FOR TURBO PROLOG USERS -------------------------------- o If you are linking C code with programs generated by Turbo Prolog 2.0, use the file INIT.OBJ provided on the EXAMPLES/BGI/MISC disk of the Turbo C 2.0 package instead of the file provided with Turbo Prolog 2.0. There have been some changes made in Turbo C 2.0 that require the use of this new file. o If your C code uses floating point math and you link with the emulator library, Prolog will not automatically detect a math coprocessor chip. If you want to force the program to use the coprocessor, link it with FP87.LIB instead of EMU.LIB. 7. FILES ON THE DISKS ---------------------- INSTALL/HELP ------------ INSTALL EXE - Installation program README COM - Reads this README TCHELP TCH - Help file for Turbo C THELP COM - Pop-up utility to access TCHELP.TCH THELP DOC - Documentation for THELP.COM README - This file INTEGRATED DEVELOPMENT ENVIRONMENT ---------------------------------- TC EXE - Turbo C Compiler TCCONFIG EXE - Program to convert configuration files MAKE EXE - Program for managing projects GREP COM - Turbo GREP program TOUCH COM - Program that updates a file's date and time COMMAND LINE/UTILITIES ---------------------- TCC EXE - Command-line version of Turbo C Compiler CPP EXE - Turbo C preprocessor TCINST EXE - Installation program for TC.EXE TLINK EXE - Borland Turbo Linker HELPME! DOC - Common questions and answers LIBRARIES --------- C0S OBJ - Small model startup code C0T OBJ - Tiny model startup code C0L OBJ - Large model startup code MATHS LIB - Small model math library MATHL LIB - Large model math library CS LIB - Small model run-time library CL LIB - Large model run-time library EMU LIB - 8087 emulator library GRAPHICS LIB - Graphics library FP87 LIB - 8087 library TLIB EXE - Borland Turbo Librarian HEADER FILES/LIBRARIES ---------------------- ???????? H - Turbo C header files - Subdirectory with SYS\*.H header files C0C OBJ - Compact model startup code C0M OBJ - Medium model startup code MATHC LIB - Compact model math library MATHM LIB - Medium model math library CC LIB - Compact model run-time library CM LIB - Medium model run-time library EXAMPLES/BGI/MISC ----------------- UNPACK COM - Program to unpack the .ARC files OBJXREF COM - Object file cross-reference utility C0H OBJ - Huge model startup code MATHH LIB - Huge model math library CH LIB - Huge model run-time library GETOPT C - Parses options in command line HELLO C - Example Turbo C program MATHERR C - Source code for handling math library exceptions SSIGNAL C - Source code for ssignal and gsignal functions CINSTXFR EXE - Program to copy TC 1.5 installation to TC 2.0 INIT OBJ - Initialization code for use when linking with Prolog BGI ARC - BGI drivers and fonts BGIOBJ EXE - Conversion program for fonts and drivers ATT BGI - Graphics driver for ATT400 graphics card CGA BGI - Graphics driver for CGA EGAVGA BGI - Graphics driver for EGA and VGA HERC BGI - Graphics driver for Hercules IBM8514 BGI - Graphics driver for IBM 8514 graphics card PC3270 BGI - Graphics driver for PC3270 GOTH CHR - Font for gothic character set LITT CHR - Font for small character set SANS CHR - Font for sans serif character set TRIP CHR - Font for triplex character set BGIDEMO C - Graphics demonstration program STARTUP ARC - ARC file with startup source code and related files RULES ASI - Assembler include file for interfacing with Turbo C C0 ASM - Assembler source for startup code SETARGV ASM - Assembler source code for parsing the command line SETENVP ASM - Assembler source code for preparing the environment BUILD-C0 BAT - Batch file for building the startup code modules MAIN C - Alternative, stripped-down C main file EMUVARS ASI - Assembler variable declarations for emulator WILDARGS OBJ - Object code for module to expand wildcard arguments EXAMPLES ARC - Various C examples code CPASDEMO PAS - Pascal program that demonstrates Turbo Pascal 4.0 - Turbo C interface CPASDEMO C - C example module for the Turbo Pascal 4.0 - Turbo C interface demonstration CTOPAS TC - Configuration file for use with TC.EXE that creates Turbo C modules in the correct format for linking with Turbo Pascal 4.0 programs CBAR C - Example function to be used with PBAR.PRO PBAR PRO - Example Turbo Prolog program demonstrating interface with Turbo C WORDCNT C - Example program demonstrating source level debugging. NOTE: DO NOT RUN THIS PROGRAM WITHOUT READING THE DISCUSSION IN THE MANUAL. IT CONTAINS DELIBERATE ERRORS. WORDCNT DAT - Data file for use by WORDCNT.C MCALC ARC - Mcalc sources and doc MCALC DOC - MicroCalc documentation MCALC C - MicroCalc main program source code MCINPUT C - MicroCalc input routines source code MCOMMAND C - MicroCalc commands source code MCPARSER C - MicroCalc input parser source code MCUTIL C - MicroCalc utilities source code MCDISPLY C - MicroCalc screen display source code MCALC H - The header file for MicroCalc MCALC PRJ - The MicroCalc project file
WELCOME TO TURBO C 2.01 ----------------------- This README file contains important, last minute information about Turbo C 2.01. The HELPME!.DOC file on the COMPILER/UTILITIES disk also answers many common Technical Support questions. TABLE OF CONTENTS ----------------- 1. How to Get Help 2. Installation 3. Important Notes 4. Additional Notes 5. Notes for Turbo Prolog Users 6. Files on the Disks 1. HOW TO GET HELP ------------------- If you have any problems, please read this file, the HELPME!.DOC file, and the Turbo C manuals first. If you still have a question and need assistance, help is available from the following sources: 1. Type GO BOR on the CompuServe bulletin board system for instant access to the Borland forums with their libraries of technical information and answers to common questions. If you are not a member of CompuServe, see the enclosed special offer, and write for full details on how to receive a free IntroPak containing a $15 credit toward your first month's on- line charges. 2. Check with your local software dealer or users' group. 3. Write to us at the following address: Borland International Turbo C Technical Support 1800 Green Hills Road P.O. Box 660001 Scotts Valley, CA 95066-0001 Please remember to include your serial number or we will be unable to process your letter. 4. If you have an urgent problem that cannot wait and you have sent in the license agreement from the front of your manual, you may call the Borland Technical Support Department at (408) 438-5300. Please have the following information ready before calling: a. Product name and serial number on your original distribution disk. Please have your serial number ready or we will be unable to process your call. b. Product version number. The version number for Turbo C is displayed when you first load th
Android, the next-generation open mobile platform from Google and the Open Handset Alliance, is poised to become a significant player in the mobile device market. The Android platform gives developers a fair bit of control while still supporting a familiar programming language. However, the frameworks, GUI widgets, and development model is different than any other mobile platform out there. That’s where this book comes in Spanning 466 pages, The Busy Coder’s Guide to Android Development covers a wide range of Android capabilities and APIs, from creating simple user interfaces, to supporting long-running background processes, through the advanced location tracking and mapping features. Along the way, it covers how to embed the WebKit Web browser in your application, how to have your application use data from other installed applications (and vice versa!) or off the Internet, and how to integrate with the built-in on-device search engine. It will help you more quickly climb the Android learning curve, so you can create the “killer app” you’ve dreamed of…or perhaps just a quick-and-dirty application for you and your friends. Table of Contents Preface Key Android Concepts Choosing Your Development Toolchain Tutorial #1 - Installing the Tools Android and Projects Tutorial #2 - Creating a Stub Project Getting Around Android Studio Contents of Android Projects Introducing Gradle and the Manifest Tutorial #3 - Changing Our Manifest (and Gradle File) Some Words About Resources Tutorial #4 - Adjusting Our Resources The Theory of Widgets The Android User Interface Basic Widgets Debugging Your App LinearLayout and the Box Model Other Common Widgets and Containers Tutorial #5 - Making Progress GUI Building, Continued AdapterViews and Adapters The WebView Widget Defining and Using Styles JARs and Library Projects Tutorial #6 - Adding a Library The Action Bar Tutorial #7 - Setting Up the Action Bar Android’s Process Model Activities and Their Lifecycles Tutorial #8 - Setting Up An Activity The Tactics of Fragments Tutorial #9 - Starting Our Fragments Swiping with ViewPager Tutorial #10 - Rigging Up a ViewPager Resource Sets and Configurations Material Design Basics Dealing with Threads Requesting Permissions Tutorial: Runtime Permission Support Assets, Files, and Data Parsing Tutorial #11 - Adding Simple Content Tutorial #12 - Displaying the Book Using Preferences Tutorial #13 - Using Some Preferences SQLite Databases Tutorial #14 - Saving Notes Internet Access Intents, Intent Filters Broadcasts and Broadcast Receivers Tutorial #15 - Sharing Your Notes Services and the Command Pattern Tutorial #16 - Updating the Book Large-Screen Strategies and Tactics Tutorial #17 - Supporting Large Screens Backwards Compatibility Strategies and Tactics System Services Google Play Services Getting Help Working with Library Projects Gradle and Legacy Projects Gradle and Tasks Gradle and the New Project Structure Gradle and Dependencies Manifest Merger Rules Signing Your App Distribution Advanced Gradle for Android Tips Testing with JUnit4 Testing with UI Automator Measuring Test Coverage Unit Testing MonkeyRunner and the Test Monkey Notifications Advanced Notifications Introducing GridLayout The Percent Support Library Dialogs and DialogFragments Advanced ListViews Action Bar Navigation Action Modes Other Advanced Action Bar Techniques Toolbar AppCompat: The Official Action Bar Backport RecyclerView Implementing a Navigation Drawer The Android Design Support Library Advanced Uses of WebView The Input Method Framework Fonts Rich Text Animators Legacy Animations Custom Drawables Mapping with Maps V2 Crafting Your Own Views Advanced Preferences Custom Dialogs and Preferences Progress Indicators More Fun with Pagers Focus Management and Accessibility Miscellaneous UI Tricks Event Bus Alternatives Tasks The Assist API (“Now On Tap”) The Data Binding Framework Desktop Android Apps Drag and Drop Keyboard and Mouse Input Home Screen App Widgets Adapter-Based App Widgets Content Provider Theory Content Provider Implementation Patterns The Loader Framework The ContactsContract and CallLog Providers The CalendarContract Provider The MediaStore Provider Consuming Documents Providing Documents Encrypted Storage Packaging and Distributing Data Advanced Database Techniques Data Backup SSL NetCipher Embedding a Web Server Miscellaneous Network Capabilities Audio Playback Audio Recording Video Playback Using the Camera via 3rd-Party Apps Working Directly with the Camera Media Routes Supporting External Displays Google Cast and Chromecast The “Ten-Foot UI” Putting the TVs All Together: Decktastic Creating a MediaRouteProvider Screenshots and Screen Recordings Advanced Permissions Restricted Profiles and UserManager Miscellaneous Security Techniques AlarmManager and the Scheduled Service Pattern PowerManager and WakeLocks JobScheduler Accessing Location-Based Services The Fused Location Provider Working with the Clipboard Telephony Working With SMS NFC Device Administration Basic Use of Sensors Printing and Document Generation Dealing with Different Hardware Writing and Using Parcelables Responding to URLs Plugin Patterns PackageManager Tricks Remote Services and the Binding Pattern Advanced Manifest Tips Miscellaneous Integration Tips Reusable Components Android Studio Editors and Dialogs Advanced Emulator Capabilities Lint and the Support Annotations Using Hierarchy View Screenshots and Screencasts ADB Tips and Tricks Issues with Speed Finding CPU Bottlenecks Focus On: NDK Improving CPU Performance in Java Finding and Eliminating Jank Issues with Bandwidth Focus On: TrafficStats Measuring Bandwidth Consumption Being Smarter About Bandwidth Issues with Application Heap Finding Memory Leaks Issues with System RAM Issues with Battery Life Power Measurement Options Sources of Power Drain Addressing Application Size Issues The Role of Scripting Languages The Scripting Layer for Android JVM Scripting Languages Crash Reporting Using ACRA In-App Diagnostics Anti-Patterns Widget Catalog: AdapterViewFlipper Widget Catalog: CalendarView Widget Catalog: DatePicker Widget Catalog: ExpandableListView Widget Catalog: SeekBar Widget Catalog: SlidingDrawer Widget Catalog: StackView Widget Catalog: TabHost and TabWidget Widget Catalog: TimePicker Widget Catalog: ViewFlipper Chrome and Chrome OS Device Catalog: Kindle Fire Device Catalog: BlackBerry Device Catalog: Android TV Device Catalog: Amazon Fire TV and Fire TV Stick Appendix A: CWAC Libraries Appendix B: N Developer Preview Appendix C: Community Theater and the Appinars Title: The Busy Coder’s Guide to Android Development Author: Mark L. Murphy Length: 3893 pages Edition: Revised & enlarged Language: English Publisher: CommonsWare Publication Date: 2016-06-06 ISBN-10: 0981678009 ISBN-13: 9780981678009
The Way to Go,: A Thorough Introduction to the Go Programming Language 英文书籍,已Cross the wall,从Google获得书中源代码,分享一下。喜欢请购买正版。 目录如下: Contents Preface................................................................................................................................. xix PART 1—WHY LEARN GO—GETTING STARTED Chapter 1—Origins, Context and Popularity of Go...............................................................1 1.1 Origins and evolution................................................................................................1 1.2 Main characteristics, context and reasons for developing a new language....................4 1.2.1 Languages that influenced Go.........................................................................4 1.2.2 Why a new language?......................................................................................5 1.2.3 Targets of the language....................................................................................5 1.2.4 Guiding design principles...............................................................................7 1.2.5 Characteristics of the language........................................................................7 1.2.6 Uses of the language........................................................................................8 1.2.7 Missing features?.............................................................................................9 1.2.8 Programming in Go......................................................................................10 1.2.9 Summary......................................................................................................10 Chapter 2—Installation and Runtime Environment............................................................11 2.1 Platforms and architectures.....................................................................................11 (1) The gc Go-compilers:...........................................................

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧